KernelTuner/kernel_tuner

Kernel Tuner

What it solves

Kernel Tunerは、GPUカーネルを単独でベンチマークし、最適化するために設計された外部ツールです。GPUコードを最大限のパフォーマンスに引き上げるための手動の試行錯誤のプロセスを排除し、開発者が異なるハードウェアやプログラミング言語にわたってカーネルの最適なパラメータを見つけることを可能にします。

How it works

このツールは、GPUカーネルを可能なパラメータ(ブロックサイズなど)の探索空間として扱います。次に、20種類以上の最適化アルゴリズムのいずれかを使用して、これらのパラメータを探索し、最高のパフォーマンスをもたらす構成を見つけ出します。広範な変更を伴わずに既存のコードに統合でき、CUDA、HIP、OpenCL、OpenACC、およびOpenMPを含む複数のGPUプログラミング言語をサポートしています。

Who it’s for

高性能なGPUアプリケーションを記述し、速度、エネルギー効率、または精度(混合精度)のためにカーネルを最適化する必要がある開発者や研究者。

Highlights

  • Multi-language support: CUDA、HIP、OpenCL、OpenACC、およびOpenMPに対応しています。
  • Broad optimization goals: 実行時間、エネルギー消費(パワーキャッピングおよびクロック周波数チューニング経由)、および精度のチューニングをサポートしています。
  • Extensive algorithm library: チューニングプロセスを高速化するために、20種類以上の異なる最適化アルゴリズムが含まれています。
  • Verification: 最適化されたカーネルが正しい状態を維持することを保証するための、組み込みの出力検証機能が含まれています。
  • Flexible integration: 任意のホストプログラミング言語で記述されたアプリケーションで使用できます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト