halide/Halide
a language for fast, portable data-parallel computation
解決する課題
Halideは、高性能な画像および配列処理コードの作成を簡素化するために設計されています。現代的なハードウェアアーキテクチャに対して手動で最適化する複雑さを排除し、開発者が幅広いプラットフォームで動作する効率的なコードを記述できるようにします。
仕組み
Halideは、スタンドアロンな言語ではなく、組み込み言語(C++およびPythonで利用可能)です。開発者はHalide APIを使用して、処理パイプラインのインメモリ表現を構築します。このパイプラインは、オブジェクトファイルにコンパイル(Ahead-of-Timeコンパイル)するか、同じプロセス内でJITコンパイルして実行することができます。
対象者
CPU(X86、ARM、RISC-Vなど)やGPU(CUDA、OpenCL、Metal、Vulkanなど)を含む多様なハードウェア上での高性能な実行を必要とする、画像および配列処理に取り組む開発者を対象としています。
特徴
- 幅広いハードウェアサポート: 膨大な数のCPUアーキテクチャとGPU Compute APIをターゲットとしています。
- C++およびPythonバインディング: どちらの言語でもパイプラインを記述できる完全なサポートを提供します。
- 柔軟なコンパイル: JITおよびAOTの両方のコンパイルモードをサポートしています。
- クロスプラットフォーム: Linux、Windows、macOS、Android、iOSを含む複数のオペレーティングシステムと互換性があります。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト