お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
NVIDIA,「CUDA 4.0」の新機能を予告。より広い層の開発者にアピールする新バージョン
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2011/02/28 23:00

ニュース

NVIDIA,「CUDA 4.0」の新機能を予告。より広い層の開発者にアピールする新バージョン

 日本時間2011年2月28日23:00,NVIDIAは,CUDAの新バージョンとなる「CUDA 4.0」の概要とリリース予定を公開した。CUDA 4.0は,より幅広い開発者に向けたCUDAの新バージョンとなるようだ。あまりゲームとは関係のない話題だが,正式発表に先立ち,アジア太平洋地域の報道関係者向けとなる電話会議に参加できたので,今回は「GPGPUの最前線レポート」的に,その内容をざっくりとレポートしていこう。


3つの新機能を備えて

CUDA 4.0にバージョンアップ


 CUDA 4.0は,2009年に公開されたCUDA 3.0からのメジャーバージョンアップで,足掛け2年ぶりのリリースとなる。電話会議で,そんなCUDA 4.0の説明を行ったのは米NVIDIAでCUDA部門のゼネラルマネージャーを務めるSanford Russell(サンフォード・ラッセル)氏だ。
 同氏は,CUDAの普及を振り返ったうえで,CUDA 4.0を「より幅広い開発者に向けたリリース」と定義。「GPUDirect 2.0」「Unified Virtual Addressing」「Thrust」という3つの機能を,CUDA 4.0の新機能だとした。

画像集#001のサムネイル/NVIDIA,「CUDA 4.0」の新機能を予告。より広い層の開発者にアピールする新バージョン
先端を行く開発者向けとされていたCUDA 3.0。それに対して,幅広い開発者に向けとされているのがCUDA 4.0だという
画像集#002のサムネイル/NVIDIA,「CUDA 4.0」の新機能を予告。より広い層の開発者にアピールする新バージョン
CUDA 4.0の3大新機能「GPUDirect 2.0」「Unified Virtual Addressing」「Thrust」。テレフォンカンファレンスでは順を追って概要が説明された

 GPUDirect 2.0は,マルチGPU構成に向けた機能で,CPUとシステムメモリを介さずにGPU間で直接のデータの転送を可能にするというもの。CPUを介さないことでオーバーヘッドを大幅に減らせるというわけだ。

 ちなみに現行のGPUDirect 1.0は,InfiniBand(※HPCで利用されているI/Oバス)上で別のデバイスからGPU側のメモリにアクセスさせるというもの。一般的なPCには縁の薄い機能だが,GPUDirect 2.0はマルチGPU構成のPCなら恩恵がある機能だといえるかもしれない。

CUDA 3.0は,GPU間でデータをやり取りするときにCPUを介して行う必要があった(右)。一方CUDA 4.0は,サポートするGPUDirect 2.0によりGPU間でのダイレクトなデータのやり取りが可能となる(左)
画像集#003のサムネイル/NVIDIA,「CUDA 4.0」の新機能を予告。より広い層の開発者にアピールする新バージョン 画像集#004のサムネイル/NVIDIA,「CUDA 4.0」の新機能を予告。より広い層の開発者にアピールする新バージョン

画像集#007のサムネイル/NVIDIA,「CUDA 4.0」の新機能を予告。より広い層の開発者にアピールする新バージョン
従来は,CPUとGPUのメモリを別のアドレス空間として扱っていたが,Unified Virtual Addressingによって単一のメモリ空間として扱えるようになる
 Unified Virtual Addressingは,CPUやGPUそれぞれが持つメモリを単一のアドレス空間として扱えるようにする機能だ。従来のメモリモデルは,CPUとGPUのメモリをそれぞれ別のアドレス空間として扱う必要があったが,Unified Virtual Addressingにより,プログラミングは非常に楽になる。これにより既存アプリケーションの移植が容易になりそうだ。

画像集#008のサムネイル/NVIDIA,「CUDA 4.0」の新機能を予告。より広い層の開発者にアピールする新バージョン
Thrustは,コンパイル時に最速なコードパスを自動的に選択し,CUDAの並列処理で高速化できるとしている
 3つめのThrustは,NVIDIAがかねてから開発を進めていたCUDA版STL(Standard Template Libary:標準テンプレートライブラリ)ともいえるライブラリセットだ。このライブラリセットは,C++プログラマーが広く利用しているSTLとよく似ており,C++プログラマーもCUDAを利用しやすくなるほか,STLに含まれるソートなどのアルゴリズムをCUDAによる並列化で大幅に高速化できるといった恩恵がある。


CUDAの標準化を進めるバージョンアップ

公開候補版は3月4日から配布開始


 以上の3つがCUDA 4.0のポイントだが,幅広い開発者に向けたリリースとしている理由は,Unified Virtual AddressingとThrustが「既存のプログラマーがCUDAを採用するときのハードル」を下げる要素を含んでいるためだと思われる。
 つまりCUDA 4.0は,NVIDIAが従来より掲げている「CUDAをデファクトスタンダードとして広める」という戦略を推し進める機能と言い換えられるのではないだろうか。

 なお,CUDA 4.0の公開候補版は,3月4日から,NVIDIAのデベロッパ向けサイトで登録している開発者向けに配布が始まる予定だ。
 ちなみにGPUDirect 2.0とThrustをフルサポートするGPUは,Fermiアーキテクチャ限定となる。対応OSはWindows,Linux,MacOS Xとなる予定だ。またUnified Virtual Addressingは,これらに加えて64bit環境が必要となるそうだ。詳細は,デベロッパ向けサイトにあるCUDA 4.0の情報ページも参照してほしい。
 CUDAに興味がある人は,NVIDIAのデベロッパサイトで登録しておくといいかもしれない。
  • 関連タイトル:

    CUDA

  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
スペシャルコンテンツ
注目記事ランキング
集計:11月30日〜12月01日