OpenCL
GPUのサイクルレベルシミュレータ。CUDAおよびOpenCLに対応している。Linux専用であり、また実行にはNVIDIAドライバーが必要となる。
OpenCL C 2.0までのカーネルソースコードのコンパイルに対応している。Clang 14以降はSPIR-Vの生成にも対応している。
以前はSPIR-V出力に対応しておらず、"LLVM/SPIR-V Bi-Directional Translator"や"LLVM-SPIRV-Backend"が必要だった。
AMDによるOpenCLソフトウェアエミュレータのオープンソース実装。2012年10月12日版において、OpenCL 1.2に対応している。対応OSはMicrosoft Windows XP以降で、ビルドにMicrosoft Visual Studio 2008/2010を必要とし、また実行プラットフォームとしてAMD Accelerated Parallel Processing (AMD APP) SDKを必要とする。開発終了。
オープンソース。LLVMの派生であり上流にマージ予定となっている。
バックエンドはCPUおよびOpenCL+SPIR-V。またCodeplayによりCUDA+PTXバックエンドも追加された。
read_write修飾子、共有仮想メモリ (Shared Virtual Memory) や動的並列処理 (Dynamic Parallelism) 対応など。
2015年11月16日、OpenCL 2.1を正式発表。SPIR-V中間言語によるVulkan API (OpenGL Next Generation, glNext) とのプログラミング基盤共通化など。2015年3月3日の暫定仕様の発表時点でカーネル記述言語へのC++14サブセット導入も予定されていたが、OpenCL 2.1正式仕様の発表とともに、OpenCL C++のリリースは早くて2016年半ばとアナウンスされた。
2017年5月16日、OpenCL 2.2を正式発表。2016年4月18日の暫定仕様の発表時点でアナウンスされていた、OpenCL C++言語、SYCL 2.2フレームワークに加えて、中間表現SPIR-V 1.2などが導入された。
2018年6月、AppleはWWDCで、macOS Mojave以降ではOpenCLを非推奨とすることを発表し、代替としてMetalを使うことを推奨している。
2020年4月27日、OpenCL 3.0暫定仕様が公開された。OpenCLロードマップの再調整に伴い、バージョン1.2より後発の機能がオプションに引き下げられる。オプションの言語機能を照会するためのマクロが提供される予定。
2020年9月30日、OpenCL 3.0最終仕様が公開された。
macOSの標準機能としてOpenCLをサポートしている。OpenCL 1.2までをサポートするが、対応バージョンはハードウェアにもよる。macOS Mojave以降では非推奨である。
2018年6月5日、AppleはWWDC 2018でOpenGL/OpenCLの非推奨化を発表し、macOS Mojaveにおいて(サポートはまだ打ち切られないものの)OpenGL/OpenCLは非推奨APIとなった。macOSがネイティブにサポートするOpenCLのバージョンは1.2が最後となっている。
OpenCLの代替として推奨されているAPIはMetalであり、コンピュートシェーダーをカーネルの記述に用いる。iOSではOpenCLはサポートされていないが、Metalを用いることでmacOS同様にGPGPUを実行することが可能となっている。
OpenCLを使用したクライアント プログラムを開発するための代表的なソフトウェア開発キット(SDK)として、主に各ハードウェア ベンダーから下記のSDKが提供されている。