【レポート】

SIGGRAPH ASIA 2009 - 非プラットフォーム依存パラレルの本命、「OpenCL」最新事情

1 OpenCLのプログラミングモデル(1)

  • <<
  • <

1/6

昨今、キーワードとしてはよく耳にする「OpenCL」。

SIGGRAPH ASIA 2009、会期初日には、そのOpenCL基本情報およびその最新事情をまとめたチュートリアル的セッション「OpenCL:Parallel Programming for Computing and Graphics」が開催された。

OpenCLのプログラミングモデル

OpenCLの現状について講演したAMDのOffice of the CTO、Justin Hensley氏

OpenCLは現在ver.1.0が現行バージョンで、アップルのMac OS X Snow Leopardはこれをシステムに統合している。Windows環境下向けとしてはNVIDIAがリリース版、AMDがベータ版をリリースしているという状況だ。早速次世代版の規格策定も進んでおり、OpenCL 1.1は2010年のSIGGRAPH 2010の夏のタイミングにリリースされる予定となっている。OpenCL 2.0についても規格策定が開始されており、これは2012年頃のリリース予定だと告知された。

さて、OpenCLでは、基本概念として図のようなプラットフォームモデルを規定している。

OpenCLプラットフォームモデル

図中のHostはCPUのこと、そしてComputeDeviceはGPUのこと……と思ってもらって差し支えない。OpenCLでは1個のホストと一個か複数ComputeDeviceをターゲットとしている。複数ということは……そう、マルチGPUにも対応しているということだ。

ComputeDeviceは1基か複数のComputeUnitを持っており、ComputeUnitは1基か複数のProcessingElementを持っている。たとえば身近なグラフィックスカードで喩えるとCopmuteDeviceがグラフィックスカード、ProcessingElementがシェーダユニット、CopmuteUnitが複数のシェーダユニットをまとめたシェーダアレイに相当する。

  • <<
  • <

1/6

インデックス

目次
(1) OpenCLのプログラミングモデル(1)
(2) OpenCLのプログラミングモデル(2)
(3) OpenCLのメモリモデル
(4) OpenCLのオブジェクトとOpenCLプログラムの構造
(5) OpenCL C言語の仕様
(6) OpenCLはCUDAやDirectComputeと競合するのか

もっと見る

人気記事

一覧

新着記事