OpenCLについて

OpenCLは、CPUやGPUなどを使って計算するためのAPIである。通常、GPUを使用する場合、それぞれの各GPU専用のAPIを使用してコードを書くことになるが、OpenCLを利用することにより、一つのコードからCPUやGPUといった処理を動かす対象に合わせたコードを生成することが可能となる。OpenCLは、CPU及びGPUに限らず、そのほかの演算装置も使用することが出来る。
OpenCLでは、実行時にコードをデバイスに合わせてビルドする。そのため、開発時には、OpenCLで動作させるコードは、そのままソースコードの状態でプログラム内に埋め込むことになる。外部に公開することが出来ないアルゴリズムの場合には暗号化して持つなどの工夫が必要。
並列化の手法としては、他に、OpenMPやMac OS X 10.6 (Snow Leopard) で搭載予定のGrand Central Dispatch (GCD) などがある。また、C++のライブラリとして、IntelのThread Building Blockがある。
なお、OpenCLはAppleが提案し、Khronos GroupがAPIの仕様などを決定している。仕様書などはKhronos GroupのWebサイトで公開されている。

http://www.khronos.org/opencl/

著書紹介

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Akira Hayashi (林 晃)のアバター Akira Hayashi (林 晃) Representative(代表), Software Engineer(ソフトウェアエンジニア)

アールケー開発代表。Appleプラットフォーム向けの開発を専門としているソフトウェアエンジニア。ソフトウェアの受託開発、技術書執筆、技術指導・セミナー講師。note, Medium, LinkedIn
-
Representative of RK Kaihatsu. Software Engineer Specializing in Development for the Apple Platform. Specializing in contract software development, technical writing, and serving as a tech workshop lecturer. note, Medium, LinkedIn

目次