週刊アスキー

  • Facebookアイコン
  • Twitterアイコン
  • RSSフィード

最年少は15歳! 高校生がGPUプログラミングを学ぶ『CUDAサマーキャンプ2011』

2011年08月26日 22時00分更新

高校生のためのプログラミング講座『CUDAサマーキャンプ2011』
CUDAサマーキャンプ2011

 自作PCユーザーにはおなじみのNVIDIAのGPGPU技術“CUDA”。コンシューマー用途では動画エンコードなどに使われているが、CUDAの主な用途のひとつに学術向け演算がある。この学術演算用のプログラミングを高校生が学ぶイベント『CUDAサマーキャンプ2011』が東京・渋谷で行なわれた。

 前年は参加者が33名だったが、今年は高校生と高専生、合わせて57名に増加。CUDAを学びたいという学生が着々と増えているようだ。うち2名はキャンプ初の女性参加者。最年少の参加者は15歳だった。

講師は東京工業大学学術国際情報センターの青木教授
CUDAサマーキャンプ2011

 イベントの最初に、講師である東京工業大学学術国際情報センター青木尊之教授と、同大学総合理工学研究科創造エネルギー専攻博士課程3年の下川辺隆史氏の2人から、CUDAの学術利用に関しての説明が行なわれた。

 東京工業大学では、NVIDIAのGPU『Tesla M2050』を採用した『TSUBAME 2.0』という2420TFLOPSの演算性能をもつスーパーコンピューターを運用。GPGPUを使ったシミュレーション演算の分野で最先端の実績を挙げている。

 学術演算の具体例として身近なのは“天気予報”。ふだん何気なく見ている“台風の予測進路”などは、実は雲や降水、太陽の熱を地表が反射する“放射”という大気中の物理現象を観測し、それを元に演算して未来の状況を予測している。

『TSUBAME 2.0』による台風のシミュレーション
CUDAサマーキャンプ2011

 『TSUBAME 2.0』を使えば、現在の気象庁が運用している演算よりも、10倍の解像度(日本近海の空をメッシュ状に分割した場合のコマ数)で計算できる。

 高校生たちは、青木教授のC言語によるCUDAプログラミングの解説のあと、6人ひと組でCUDAのプログラミングにチャレンジした。最初のお題は、CPUで処理する“液体が拡散するシミュレーションプログラム”を、CUDAを使った並列処理で一気に計算する方式に書き換えて計算速度を競った。

 青木教授によると、CPUだけでは演算速度は1.5GFLOPSしか出ないが、CUDAを使えば標準的に8~12.7GFLOPS出るという(数値が高いほど演算効率が良い)。課題としては、まずこの標準値を超えられるようにプログラミングを工夫する必要がある。

 最初はC言語の記述に戸惑ったり、数式の処理に悩んでいた高校生たちだったが、おのおのが徐々に糸口をつかんでプログラムを書いていった。優勝したチームは見事、CPUの約13倍の処理速度となる20.08GFLOPSの演算速度をたたき出した。優勝チームにはNVIDIA特製アーミードッグタグ、そして協賛メーカーエイサーから抽選で参加者にノートPC『Aspire 5750G-F74E/K』が贈られた。

 次に練習問題として、電磁波のシミュレーション演算にも取り組み、コツをつかんだ参加者たちは次々とプログラミングを仕上げていった。

CUDAのプログラミングに取り組む高校生たち
CUDAサマーキャンプ2011
電磁波のシミュレーション演算
CUDAサマーキャンプ2011

 青木教授は講評で、「今日使ったのは本当の物理現象のシミュレーションをプログラミングした実践的なもの。本当に使える問題をGPUで計算できるようになったことを知ってほしい。自宅でもプログラミングを学んでさらに上を目指してほしい」と述べた。

 約4時間のワークショップではあったが、高校生たちは瞬く間に大人顔負けのプログラミングテクニックでCUDAを使いこなして物理現象のシミュレーションプログラムを組んでいた。NVIDIAは来年もこのイベントを実施するとしており、今後もGPGPUを使いこなせる人材が多数育っていきそうだ。参加者の中から世界的にGPGPUプログラミングで活躍する人材も輩出されることを期待したい。

この記事をシェアしよう

週刊アスキーの最新情報を購読しよう