OpenCLとは、システム上にたくさんある計算資源を統一的に扱えるようにするためのAPIセットである。
インテルやAMD(に限らないが)のCPUは、実はGPUに比べて計算性能が劣っている。というのも、シングルスレッドの実行性能がそれなりに求められるCPUではコアが大きくなってしまい、一つのCPUに載せられるコアは多くて8コア程度がいまだ上限だからだ。
それに対しGPUはコア1つあたりの計算性能はあまり高くない。しかし、その分コア1つがコンパクトでありそのコアを何十個、時には100個以上並列に計算させて総合性能を稼いでいるのである。ということは細かく分割して並列に計算できる処理の場合GPUに計算させたほうが速いのではないか。という発想からそのための開発環境を各メーカーが開発してきた。2003年頃から言われてきたGPGPU(汎用的に利用できるGPU)と言う技術である。
これを更に進めて、あらゆる計算資源(CPUやGPUに限らず)を特定のハードに縛られず統一的に扱えるオープンで無料なAPIとして、2008年6月にAppleが発表したのがOpenCLである。2008年12月、Appleが提案していた仕様を元にOpenCL 1.0がリリースされた。
APIの仕様はKhronos Groupで決定されるが、実装は各メーカーが行う。マイクロソフトはKhronos Groupに参加しておらず、DirectX11で同様の技術を開発中。
このAPIに対応するアプリケーションは、演算性能を大きく向上させることができる。ニコ動的には動画のエンコード待ち時間が減る、動画がもっと綺麗になることが期待できる。
OpenCLは、Open Computing Languageの略。 Mac OS X Snow Leopardの目玉機能の一つである。QuickTime Xでも利用されると思われる。
掲示板
19 ななしのよっしん
2015/04/16(木) 05:19:25 ID: hoR0uZidPf
Geforceは2015/4/13の350.12からOpenCL1.2に対応したらしい。
600番台(Kepler)以降だけど。
通りすがりですがメモしておきますね。
20 ななしのよっしん
2018/08/05(日) 12:58:49 ID: O3pF0Uj6rG
ベンダーがみんなCUDAしか使わない為なのか、OS X Mojave以降非サポートになるそうな。自分で作っておいてなんだかなとは思うがAppleだから仕方ない。
21 ななしのよっしん
2019/02/16(土) 00:34:00 ID: mo+hEqfy6Q
>>20
正確にはちょっと違う。全部MetalでやることにしたからOpenCLもういらんという理由ね。
急上昇ワード改
最終更新:2024/05/14(火) 06:00
最終更新:2024/05/14(火) 06:00
ウォッチリストに追加しました!
すでにウォッチリストに
入っています。
追加に失敗しました。
ほめた!
ほめるを取消しました。
ほめるに失敗しました。
ほめるの取消しに失敗しました。