SYCL
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/02/25 14:05 UTC 版)
「ヘテロジニアス・コンピューティング」の記事における「SYCL」の解説
Khronos Groupが管理・策定しているヘテロジニアス・コンピューティング向けの抽象化レイヤー。OpenCLだけでなく、他のバックエンドにも対応する。IntelのCPU/GPU/FPGA開発環境であるoneAPI(英語版)の中心にもなっている。ISO C++との互換性が考慮されている。
※この「SYCL」の解説は、「ヘテロジニアス・コンピューティング」の解説の一部です。
「SYCL」を含む「ヘテロジニアス・コンピューティング」の記事については、「ヘテロジニアス・コンピューティング」の概要を参照ください。
SYCL
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/08/04 15:23 UTC 版)
SYCLはKhronos Groupが策定している、標準C++を使って「単一ソース」でヘテロジニアスプロセッサ向けのコードを記述することを可能にする抽象化レイヤーである。従来はOpenCL C/C++により記述したカーネル(デバイスコード)のコンパイルやロードを、OpenCL APIを使って実行するための処理をホストコード側に逐一記述する必要があったが、SYCLを利用することで、単一の言語を使って同一ソース内に記述できるようになる。コンセプトとしては、CUDA C++やC++ AMPに似ている。SYCLの拡張としてIntelのData Parallel C++ (DPC++) も存在する。 SYCL 2020より前はOpenCL仕様の上に構築されており、GPUバックエンドもOpenCLのみを前提としていた。SYCL 2020以降はOpenCLを介さないバックエンドも考慮されるようになった。 SYCLの実装には以下が存在する: Intel oneAPI DPC++ Compiler オープンソース。LLVMの派生であり上流にマージ予定となっている。 バックエンドはCPUおよびOpenCL+SPIR-V。またCodeplayによりCUDA+PTXバックエンドも追加された。 hipSYCL オープンソース。バックエンドにはOpenMP (CPU向け)、HIP/ROCm (AMD GPU向け)、CUDA (NVIDIA GPU向け) がある。またIntel GPUに向けてSYCLバックエンドも追加予定となっている。 ComputeCpp (Codeplay(英語版)) プロプライエタリ。 またXilinxの管理するtriSYCLも存在したが不完全なため非推奨となっており、代わりにIntelのLLVM実装に基づいたXilinxバックエンド実装が開発されている。その他、オープンソースの簡易実装のsycl-gtxもあった。
※この「SYCL」の解説は、「OpenCL」の解説の一部です。
「SYCL」を含む「OpenCL」の記事については、「OpenCL」の概要を参照ください。
- SYCLのページへのリンク