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を含む複数のオペレーティングシステムと互換性があります。

関連

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