ニュース
参加者数は昨年比2倍に増加。NVIDIA&東工大が,スパコンを使ってGPU最適化を学ぶ「高校生のためのCUDAサマーキャンプ2013」を開催
ガンバレ高校生,NVIDIAと東京工業大学がスーパーコンピュータ「TSUBAME2.0」を使った「高校生のためのCUDAサマーキャンプ」を開催
今年の参加者はLinux経験者が6割超! 女子生徒も参加
会場となった東工大の大岡山キャンパスは,同大学が誇るスーパーコンピュータ(以下,スパコン)「TSUBAME2.0」が設置されていることでも知られている。TSUBAME2.0には,NVIDIAの数値演算アクセラレータ「Tesla」が使われており,今回の実習で参加した高校生達も,TSUBAME2.0を使ったCUDAプログラミングが体験できるという,めったにない機会に恵まれたことになる。
さて,5回目となる今年は,参加者が倍増していたのがまず印象に残った。2012年の参加者は39名で,主催者側の期待よりは少なかったという。その理由をNVIDIAでは,「昨年は“C言語でプログラムが作れること”という少し高めのハードルを設定したのが,応募が少なかった理由かもしれない」と分析したようだ。
そこで今年は,C言語のプログラミング経験は「あったほうがいい」という程度に,参加条件をゆるめた。また,締め切りの約1か月前に,文部科学省が認定した先進的な理数教育を実施する高校「スーパーサイエンスハイスクール」(SSH)を中心に,イベント告知のポスターを掲示するといった宣伝活動も実施。これらが功を奏したのか,最終的な参加者は78名と,昨年に比べてほぼ倍増となった。
また参加者のプロフィールを見ると,SSH指定校へのポスター掲示も効いたようで,今年は指定校の生徒が多数参加しているのが目立った。たとえば,SSH指定校である静岡県立浜松工業高等学校からは,8月19日から本選が開催されるプログラミング大会「Supercomputing Contest 2013」にも参加するという7名が,先生の引率付きで参加していたという具合である。
そのほかに,昨年はゼロだった女子生徒も,今年は3名が参加していた。講師による説明を受ける前から,Linuxを使いまくってる女子生徒もいるなど,昨年とはやや趣が違う参加者たちが集まっていた印象がある。
日本最速のスパコン「京」を上回る「TSUBAME2.5」が今秋稼働
午前中のセッションでは,CUDAフェローでもある東工大 学術国際情報センターの青木尊之教授により,TSUBAME2.0の概要と最新の研究成果,そして今秋稼働予定というTSUBAMEのアップグレードプラン「TSUBAME2.5」が紹介された。
TSUBAMEについて解説した,東工大の青木尊之教授(左)と,ゲストとして登壇し,高校生達にエールを送った「CUDAの生みの親」ことIan Buck氏(右,General Manager,GPU Computing |
昼食時に行われたTSUBAME2.0見学ツアーの様子。ちょうどTSUBAME2.5へのアップグレード作業も行われていて,Tesla K20Xが入っているらしいユニットを取り付けている最中だった |
カリキュラムも進化した2013年のCUDAサマーキャンプ
ちなみに2012年の講習では,青木教授らが専門とする数値シミュレーションの説明に割いた時間が長かった。それが今年は,CUDAの基礎説明を手厚くしていたのが特徴だった。
昨年のサマーキャンプで重点を置いた数値シミュレーションは,演算の結果をグラフィックスで表現すると動きで結果が見えるなど,意外にも楽しいものだ。だが扱う数式自体は,高校生にはややレベルが高く,プログラムも複雑で難度が高かった。それに対して,CUDAに軸足を置いた今年は,「今年のほうが,高校の授業に近いものになっていると思う」と,下川辺助教も筆者に語っているなど,カリキュラムを高校生向きと思われる方向に変えてみたようだ。
今年のカリキュラムに追加されたのは,「Atomic演算」と「Shared Memory」という機能だ。どちらも,CUDAではわりと重要な機能になる。
たとえば,1つの数に大量の数を足し合わせる演算は,膨大なスレッドが同時に走る並列処理にとって苦手な種類の演算である。というのも,あるスレッドが加算している最中に,別のスレッドが加算した結果を書き戻してしまうという競合が起こりうるためだ。
そこで,スレッド間の競合が考慮されたAtomic演算を用いれば,その問題は簡単に解決できる。ただし,なにも考えずにAtomic演算を多用すると,パフォーマンスはびっくりするくらい低下してしまうという欠点もある。そうした問題と解決方法を,青木教授が「1億件のデータを加算する」というシンプルな題材を例にレクチャーしていた。
青木教授はAtomic演算で取り上げた1億件の足し算(総和)が,Shared Memoryを利用することで大幅に高速化できる例を示して,Shared Memoryの活用法を分かりやすく説明していた。
グループワークで文字列検索処理の時間短縮に挑戦!
サンプルコードでは,「東工大合」までしか検索対象に文字列がないという若干のハプニングがあったものの,高校生達のチームが最適化に取り組んだ結果,トップのチームは37.8msという,なかなかの高速化を達成していた。
「東工大合格」という文字列を検索するグループワークに取り組む高校生達 |
優勝したチームは37.8msを達成。NVIDIAから記念品が授与された |
なお,2014年のCUDAサマーキャンプはまだ未定とのことだが,もし開催されるなら,カリキュラムはさらに改善される可能性が高そうだ。本稿を読んだ高校生諸君には,来年も開催されるようであればぜひ参加してほしい。
高校生のためのCUDAサマーキャンプ2013
- 関連タイトル:
CUDA
- 関連タイトル:
NVIDIA RTX,Quadro,Tesla
- この記事のURL:
キーワード
Copyright(C)2010 NVIDIA Corporation