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/

投稿者プロフィール

林 晃
林 晃アプリ開発者
アールケー開発代表。Appleプラットフォーム向けのアプリ開発が好きなアプリ開発者。アプリの受託開発、技術書執筆、技術指導・セミナー講師。3DCGコンテンツ作成にも取組中です。

基礎から学ぶARKit


「基礎から学ぶARKit」を執筆しました。本書はARKitを使ったARアプリの開発方法を解説した技術書です。

ARKitを使ってARアプリを作るときの流れや基本的なAPIの使い方などをサンプルアプリを作りながら学べます。

詳細

基礎から学ぶMetal


「基礎から学ぶMetal」を執筆しました。本書はMetalを使ってGPUプログラミングを行うための最初のステップを解説するMetalの解説書です。

私が初めてGPUプログラミングを行ったとき、どこから手をつけて、学んでいけば良いのか分からず呆然としました。もし、あのとき、これを教えてくれればという部分を解説しました。本書で解説している部分はMetalの基礎となる部分で、Metalを使うときに必ず触れることになる部分です。

詳細

関連記事

  1. Webサイトのシステムを全面刷新しました

  2. [2021.3.3更新/解決] NSURLSessionのメモリの扱い…

  3. 来週月曜日は合同勉強会

  4. HistoryEditor Windows版 1.5.2 を公開しまし…

  5. アドレスブックの保存先を明確にしたい

  6. Netbeansで開発しているものをBambooでテストする

最近の著書

  1. 基礎から学ぶ SwiftUI

最近の記事