【レポート】

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

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

    西川善司  [2009/12/25]

    昨今、キーワードとしてはよく耳にする「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が複数のシェーダユニットをまとめたシェーダアレイに相当する。

    関連したタグ

    新着記事

    特設サイトの情報

      人気記事

      一覧

        新着記事

        特別企画

        マイナビニュースマガジン