ポータブルなOpenCL実装「Portable Computing Language v1.0」リリース
LLVMベースの移植性のあるOpenCL実装プロジェクト「Portable Computing Language」は12月19日、「Portable Computing Language(POCL) v1.0」を公開した。
Portable Computing Language(POCL)は移植性のあるOpenCLの標準実装で、OpenCL CフロントエンドにClang、カーネルコンパイラ実装と移植性レイヤにLLVMを用いる。また、カーネルコンパイラ、タスクランタイムの強化により、OpenCLプログラムの移植性の性能改善も図る。これによりターゲットに依存した手動での最適化の作業を軽減する。
OpenCLはバージョン1.2をサポート、一部2.0の機能もサポートする。さまざまなCPUに加え、ASIP(TCE/TTA)、実験的だがNVIDIA GPU(CUDA経由)、HSA対応GPUをサポートする。ライセンスはMIT License。
本バージョンではLLVM/Clang 4.0および5.0をサポートする。CPUバックエンド利用時にOpenCL 1.2のほとんどの標準規格適合テストにパスしているという。
また、カーネルエンキュー上での自動ローカルワークグループのサイジングを改善した。メモリリーク関連のバグも修正した。POCLバイナリのフォーマットもアップデートした。
POCLはプロジェクトのWebサイトより入手できる。
Portable Computing Language
http://portablecl.org/