7月21日、NVIDIAは、同社の赤坂ツインタワー・オフィスにて中高生を招き、同社のデータパラレルコンピューティングのプラットフォームである「CUDA」を学び、体験してもらうイベント「GPUコンピューティングの世界へようこそ」を開催した。

世界初の中高生向けのCUDA解説イベントを開催

今回の記念すべき、第一回目のこの中高生向けCUDAイベントに招待されたのは立教池袋中学校・高等学校の数理研究同好会の13才の中1から18才の高3までの25人の生徒達。なお、同校の数理研究同好会は国高等学校IT簿記選手権大会で毎年優秀な成績を収めている名門クラブで、「部」ではなくあえて「同好会」を名乗っているのは同好会開設者の「飾らないこだわり」からなのだとか。

果たして、中高生達の目にCUDAはどのように映ったのだろうか。

ほとんどの生徒がGPUの専門的な講義は初めてだったはず。しかし、中高生とはいえ、さすが理数系の生徒達。興味深そうに聞いていた

一足飛びに技術を進化させるブレークスルーの存在

まず、登壇したのは、NVIDIA代表の細井洋一氏。

NVIDIA日本代表兼米国本社ヴァイスプレジデント、細井洋一氏

細井氏は、技術の進化の歴史において、突然のブレークスルーの発生によって、それまでの常識を超えた性能がもたらされることがあるということを、交通の歴史とコンピューティングの歴史を照らし合わせて語った。

つい百数十年ほど前までは、日本から太平洋を渡ってアメリカ西海岸に行くのには3カ月は掛かったが、後に外燃機関の蒸気船が登場して1カ月に短縮され、内燃機関船となって2週間となった。飛行機が登場して1日とり、今やジェット機の実用化で12時間程度での太平洋横断が可能となっている。細井氏も搭乗したことがあるという超音速ジェット機コンコルド(現在は生産中止)ではジェット旅客機の半分の時間での飛行も可能となったことを告げ、これと同じことがコンピューティングの世界にも起こっているとした。

「つい最近まで科学技術計算や医療画像解析などの分野で3日~4日掛かっていた計算は、今やGPUコンピューティングの台頭によって2~3時間へと短縮されて来ているんです。」(細井氏)

CPUとGPUが共存し、さらにそれぞれの美点を最大限に活かしてコンピューティングを行うヘテロジーニアス(Heterogeneous:異種混合)コンピューティングこそが、今世代のコンピュータの主流になり得ると細井氏は訴えつつ、オープニングを締めくくった。

交通手段の不連続性進化の歴史とコンピューティングのパラダイムシフトを重ね合わせた講演を行った細井氏

活用の場が大きく広がっている最新GPU事情

続いて登壇したのは広報の中村かおり氏。

NVIDIAは、元々はPC向けのGPUメーカーとして成長を遂げてきたが、今では、組み込み機器向けプロセッサ、AV家電向けのメディアプロセッサ、携帯電話などの小型機器向けプロセッサ、科学技術や業務用コンピューティング向けプロセッサなどの分野にも精力的に進出しシェアを伸ばしていることを説明。特に最近では、CUDAプラットフォームを中心としたGPGPUソリューションに力を入れていることでHPC(High Performance Computing)分野への躍進が著しいことを紹介していた。

東京工業大学、青木尊之教授らのグループがCFD処理をマルチGPUで実行し、津波のリアルタイムシミュレーションの研究をしている。地震発生から津波警報発令までの時間短縮にCUDAが活用される

東京大学、Nicholas Herlambang氏が研究中の医療用画像の裸眼立体視システムにCUDAが採用。心臓の伸縮速度よりも早いフレームレートによるボリュームレンダリングのリアルタイム立体視動画を実現した事例として注目されている

世界初のCPU/GPU異種混合型スーパーコンピュータ「TSUBAME」(東京工業大学)

100TFLOPSの性能を持つスーパーコンピューターを構成しようとした場合、CPU/GPU異種混合型ならば1/3の価格、そして1/5の消費電力で実現が可能

中村氏はさらに、GPUのこうした卓越した演算性能は、プロフェッショナル用途での活用だけでなく、一般のユーザー、それこそ中高生のコンピュータユーザーにも大きな恩恵を与えるという事例を取り上げる。

ビデオカメラで撮影した映像の編集/エンコードを、CPUの約10倍の速さで行え、なおかつタッチパネル操作による直観的な編集が行える「Super LoiLo Scope」(LoiLo)、映像をフレーム内検索だけではなく、時間方向の相関性を探査して超解像処理を行う「vReveal」(MotionDSP)を紹介していた。

今や携帯電話でも動画が撮影できるし、デジタルビデオレコーダーやビデオカメラなどを所有する家庭も増えており、いわば中高生でも動画像に触れる機会は多くなってきている。身近ではあるが、データとしてはとても重い動画データを、スピーディかつインタラクティブに取り扱えるソリューションの実現には(NVIDIAの)GPUが欠かせなくなってきている。中村氏のプレゼンテーションにはこうしたメッセージが込められていたようだ。

休憩時間には実機デモでNVIDIAテクノロジーを体験

お昼を挟んでの休憩時間には、CUDAをはじめとしたNVIDIAテクノロジーを、実機に触れて体験ができる時間が設けられた。

展示されていたのは、CUDA対応のビデオフィルタリングソフト「vReveal」、ビデオ編集ソフト「SuperLoiLo Scope」、Teslaを使った流体物理シミュレーションのデモなど。

TESLAを使った流体物理シミュレーションのデモ

NVIDIAマーケティング本部 マーケティング・プログラムマネージャー 平柳太一氏が実機デモのプレゼンテーションを担当

元々、数理やIT関連に興味のある中高生だったこともあり、難しめな内容にも強い興味を示していた

最近流行の拡張現実(Augmented Reality)のデモも公開。ARとは、現実世界の映像にCGを合成して見ることで現実世界への新しい接し方を提供したり、新しいインターフェースを実現するもの。次世代ゲーム機のインターフェースとしてソニーやマイクロソフトも研究している分野だ

NVIDIA初の組み込み向け1チップコンピュータ「TEGRA」のデモも披露された。TEGRAはCPUにARM11、GPUにGeForceFX世代と同等のDirectX 9/SM2.0対応のものを実装したSoC(System On a Chip)。主にカーナビ、携帯電話、PDA、メディアプレイヤーへの採用を目論んだ製品。デモでは、携帯電話サイズの試作機を用いて、iPhoneを超えた3Dインタラクティブインターフェースの披露と、720p相当のハイビジョン映像をそのまま試聴できる動画性能をアピールしていた

GPUってなに? CUDAでなにができるの?

午後、一限目は、NVIDIA、ソリューション・アーキテクトの馬路徹氏による「GPUとはなにか?」を解説したチュートリアルセッションが行われた。

NVIDIA、ソリューション・アーキテクト、馬路徹氏。この後も業界の第一線で活躍する豪華"講師"陣が続々登場する

馬路氏はまずGPU誕生の最大の理由である3Dグラフィックスのレンダリングパイプラインの概要を解説。頂点単位(ポリゴン単位)の座標変換処理を行い、この結果を画面に描くためにポリゴンから画面座標系の画素への対応を求めるラスタライズ処理(トライアングルセットアップ)、そして最終的にピクセルの色を求める処理までの流れが解説された。

3Dグラフィックスパイプラインの基本的な流れについての解説した馬路氏

中高生にとっては数学の授業の世界でしか馴染みのなかったベクトルという概念が、3Dグラフィックスの世界では基本的な概念となっていることを知り、非常に興味深かったようだ。

また、面の向きを表す「法線ベクトル」、視点からの向きを表す「視線ベクトル」、そして光が照らされる向きとその光量を表す「光源ベクトル」の3つが、ライティング計算に必要な三大基本ベクトルであることも解説された。

この計算を高速かつ高効率に行うものとしてGPUが誕生し、その性能向上と、汎用性向上を追求することでGPUが進化してきたという歴史も語られた。

GPUは、ある特定のロジックを大量のデータに適用していくという、データ駆動型プロセッサであり、このGPUを3Dグラフィックス処理だけでなく、汎用目的で利用しようというのがGPGPUということになる。そして、このGPGPUの実現形態のうち、NVIDIAが提供したものが「CUDA」になる。

中高生にとっても、「コンピュータの脳みそはCPUである」という認識が植え付けられていたはずで、これはこれで正解なのだが、これとは別に、GPUがコンピュータにとって「大量のデータを同時多発的に処理することに長けたもう一つの脳みそである」という新しい概念がなんとなく伝わったのではないかと思う。

GPUの高性能化は「GPUを3Dグラフィックス処理以外に利用したい」という願望を生むことに

CUDAの出発点は、まずはCPU向けのC言語を、データ・パラレル・コンピューティング向けにベクトル拡張することからだった

物事をパラレルコンピューティング的に考えよう

続いて登壇したのはNVIDIA,デベロッパーテクノロジー エンジニアの風間隆行氏。風間氏は「CPUとGPUの違い~パラレルコンピューティング」と題して、グラフィックスレンダリングパイプラインの中のラスタライズ処理を例にとり、CPU的なアプローチとGPU的なアプローチの違いについて解説した。

NVIDIA,デベロッパーテクノロジー エンジニア、風間隆行氏。同氏の取り扱うテーマは、一見すると非常に専門的に見えるのだが、実際の解説は、まるで学校の数学の授業のようであった。学校で学ぶ数学とプログラミングは切っても切り離せない関係にあり、GPUの世界では数学の知識が非常に重要。「学生の頃、数学なんて社会で何の役に立つのかわからない、と考えたことがある人は少なくないでしょう。私もそうでした(笑)。実はこういうところで役に立っているのです。将来、社会に貢献できる仕事にきっと繋がりますから、今のうちにしっかりと数学を学んでおきましょう。」

ラスタライズ処理は前述したように、3頂点情報からなる、当初は実態のないポリゴンを、画面のピクセルへの対応を求めて実体化する処理系だ。風間氏はこれを中高生に分かりやすく「三角形の塗りつぶし方」とかみ砕いて解説。

CPUで処理しようとした場合は三角形を複数の走査線に分解し、一次方程式を解いて各走査線の始点と終点を求めて直線を引くアルゴリズムで実現するアプローチが最も分かりやすい、と説明。

GPUの場合は、同時多発的かつ、ある程度の順不同の(相関性に配慮しない)処理で実装することが得策であることから、画面内の任意の点において、それが直接、三角形の内側であるか外側であるかの条件判定ができる方策が解説された。

三角形を走査線に分解して、その走査線ごとにシーケンシャルに処理していくのがCPU的発想

任意の点に対して同時多発的に処理を開始できるのがGPU的発想

相互依存性への配慮を最小限にして同時多発的に計算できるアルゴリズムがGPUに適している

最後のセッションでは、NVIDA,CUDAエンジニアのカン・ボウ・デュカ氏が登壇し、現在、CUDAが産業界でどう活用されているかを紹介した。

NVIDA,CUDAエンジニア、カン・ボウ・デュカ氏

デュカ氏は、CUDAベースのビデオ編集ソフトやビデオエンコーディングソフトの紹介以外に、超音波CTスキャン結果の視覚化処理、薬学シミュレーションのような医療分野、流体物理シミュレーションや天体物理シミュレーションなどの最先端科学の分野にもCUDAが採用されていることを訴えた。デュカ氏としては、CUDAを早くから学び、修得することが、そうした最先端科学技術分野に進出する最良の道筋である……ということを彼ら理数系の中高生の生徒達に訴えたかったようだ。

GPUパワーによって今や4TFLOPSもの性能を持つCUDAベースのHPCがわずか100万円以下で入手できる時代となった。まさにこれはパーソナル・スーパーコンピュータ。そして、デュカ氏はCUDAは産業界、科学技術分野、医療界に浸透しつつある有望なプラットフォームであることを力説

ところで、コンピューティングのテーマによっては、CPU向けのシーケンシャルアルゴリズムとGPU向けのパラレルアルゴリズムの双方が存在することがある。そしてそのテーマによってはパラレル向けのアルゴリズムを活用した方が高速に処理できることがある。

物事を道筋として考えるとき、シーケンシャルアルゴリズムの方が分かりやすい場合が多いのは確かだ。しかし、今の若い世代には、生まれたときからCUDAのようなデータ・パラレル・コンピューティング環境がある。若いうちからそうしたパラレルコンピューティング的な思考を養っていくゆくことは、今後、ますます重要となり、特に、IT業界に携わっていくことを目指す生徒にとっては、明るい将来へにも繋がるはずだ。

風間氏、デュカ氏の両セッションは、まさにこうしたメッセージを訴えるものであった。

NVIDIAは中高生向けのパラレルコンピューティングイベントを8月にも開催予定

NVIDIAは、今回の立教池袋中学校・高等学校の数理研究同好会の生徒達のために開催した「GPUコンピューティングの世界へようこそ」イベントを足がかりとして、今後、中高生向けのGPUコンピューティングイベントを積極的に開催し、次世代のデータ・パラレル・コンピューティング技術者育成に努めていく戦略を明らかにしている。

今回の立教池袋中学校・高等学校の数理研究同好会のためのイベント開催となったのは、同校卒業生の高橋勇貴君が、高次方程式の解を求めるプログラムをCUDAで実装するという卒論をまとめたことが発端となっている。

立教高等学校卒業生、現大学一年生の高橋勇貴君。「CUDAはC言語のプログラミング能力があれば、並列計算のプログラムが比較的容易に書けるというところに興味を抱き、挑戦してみました。あまり日本語の資料がなかったので実際の活用が軌道に乗るまで結構苦労しましたが、この時、世界に通用する技術者や学者になるためには英語力が必要であることも痛感しました。今は大学でも数学を学んでおり、次の研究テーマも模索中です。今は広い範囲の数学的知識と、さらに高いプログラミング能力を身に付けるために日々勉強に勤しんでいます。」

立教池袋中学校・高等学校の数理研究同好会、顧問の内田芳宏教諭。「自分からも普段、新しい技術分野に目を向けようと啓発はしてきてはいるんですが、実際の技術者の方達のお話しを聞いたり、実際に動作するデモや映像を見せられたことで、子供達は非常に大きな感銘を受けて、興味を持ったんではないかと思います。きっと、この夏の間に、実際にCUDAをダウンロードして挑戦してみようとする子供達は本当にいると思います。ただ、その時に新しい技術に触れることの難しさを痛感することでしょう。しかし、それは彼にとって必要な試練となるはずです。若い子供達が先端技術に直に触れる機会はあまりないので、今回のセミナーはとても有意義でした。教員の自分にとっても勉強になった部分もありましたよ(笑)」

次回の開催についても早速告知がなされており、今度は、学校単位ではなく、個人単位での参加が可能なイベントとして企画されている。

詳細は下記の通り。

■「NVIDIA CUDAサマーキャンプ」開催概要
主催 NVIDIA Japan
日時 8月28日(金) 10:00から16:00まで
場所 NVIDIAセミナールーム 〒107-0052 東京都港区赤坂2-11-7 ATT新館13階 (東京メトロ銀座線・南北線「溜池山王駅」12番出口直結)
対象者 現役高校生 / 高等専門学校生
募集定員 30名(定員に達し次第、終了)
講義内容 GPUアーキテクチャについての説明 / CUDAの概要紹介 / CUDAのインストール方法 / CUDAプログラミング入門
前提知識 C言語の知識が少しでもある学生
参加費 無料
参加者特典 参加者の中から、抽選で3名様にNVIDIA GeForce GTX 285をプレゼント。参加者全員にNVIDIA オリジナルグッズをプレゼント

「NVIDIA CUDAサマーキャンプ」。詳細情報や参加申し込みはこちらの同社サイト(リンク)

次回のものは高校生、高等専門学校生を対象としたセミナーとなり、参加費は無料。注目したいのは参加者の中から抽選で最上位GeForceの GTX 285が3名にプレゼントされるというところ。興味のある高校生、高専生は、夏休みの宿題を早めに終えて是非とも参加してみよう。

立教池袋中学校・高等学校の数理研究同好会の生徒達と顧問の内田教諭、そしてNVIDIAのスタッフ達

(トライゼット西川善司)