「スパコン報道にみる科学技術を伝える難しさ」(2013年1月22日初稿;1月25日改定稿掲載)

 私事で恐縮であるが、年末年始は今春に刊行予定の技術書の編集に追われた。グラフィックス処理専用に開発されたプロセッサGPU(Graphics Processing Unit)を用いた数値計算の入門書である。研究グループで分担執筆し、私は編者として取りまとめを担当している。年末年始の休暇中は、分担者の原稿と100時間以上は向き合った。
 その間、たまたま放映していたスーパーコンピューター「京」を取り上げた報道番組を観た。要約すれば「スパコンは世の中を劇的に変える」という内容である。科学技術は明るい未来を示してほしいという報道の意図はわかるが、行き過ぎた賛辞は世間をミスリードしかねない。
 これはスパコンに限ったことではなく、科学技術を扱う番組においては往々にして起こることである。制作側はその分野の第一人者に研究意義を問う。研究者は当該分野を代表する人であればあるほど、自ら関わっている研究の重要性を強調する。それはごく自然なことである。その際、ある程度その研究分野を客観視できる人が制作側にいないと、バイアスのかかった報道になってしまう。
 今回は、GPUの入門書を編纂しながら思いを巡らせたスパコンの現況を、少々辛口にお話しさせて頂きたい。

 コンピューターで演算機能を担っているのは、中央演算処理装置CPU(Central Processing Unit)である。ところが、ゲームや映像の高画質化が進むにつれて、グラフィックス処理が膨大になってきた。そこで、近年のコンピューターでは、グラフィックス処理をCPUから切り離してGPUに行わせている。
 グラフィックス処理には、次の2つの特徴がある。

 (1) 各画素においての処理はそれぞれ独立に行える。
 (2) 出力された画像データは保存しておく必要がない。

 これらは並列処理が有効に働くことを意味している。そのため、GPUは、内部の演算ユニット(計算コア)を増やすことで、CPUをしのぐ高速化が実現している。数万円で入手できるGPUに2,000を超える計算コアが搭載されており、これをうまく利用できれば、CPUよりも1,000倍高速に数値計算することも可能である。
 ただし、高速化するには条件がある。GPUがもっとも有効に機能する計算は画像処理関係である。ディスプレイ上の画素ごとに独立で計算できるため、並列計算がもっとも効率良く働く。私は20年にわたってホログラフィという技術を使った3次元テレビの研究を続けている。これは画像処理の一つで、GPUによって、実際にCPUの1,000倍という高速化を実現している。
 ただし、同じような数値シミュレーションでも、条件分岐という処理がプログラム中に含まれていると効率が10分の1程度に落ちる。
 さらに重要なのは、実際に行われている数値シミュレーションの多くは、計算コア間でデータのやり取りが必要で、各計算コアを独立で動作させることができないということである。GPUでは、通信能力は計算能力よりも劣るので、演算効率はさらに悪くなる。GPUの理論ピーク性能はCPUの1,000倍ほどもあるが、実行性能は10倍程度である場合が多い。

 というような編集作業を続けていた中で、「スパコンはどんな問題でも高速に解くことができ、世の中を変える」という報道番組に接し、少しばかり引いてしまった。
 スパコンは、その時代でもっとも演算速度の速いコンピューターである。当然ながら、時代によって用いられている技術は異なる。今日のスパコンは、計算コアを高並列化することで高速演算を実現している。
 それは、基本的にGPUが高速化したのと同じ理由である。さらにいえば、今日のスパコンGPUは深い関係にある。現時点における世界最高速のスパコンは米国のタイタンであるが、トップに立てたのは最新のGPUボードを多数(18,688枚)搭載したからである。他にも東工大TSUBAMEなど、GPUの演算能力を活用したスパコンが少なからず稼働している。
 したがって、上述したGPUを用いた数値計算の制限(限界)がスパコンにも当てはまる。
 昨年11月、京コンピューターによる数値シミュレーションが世界一に輝き、ゴードンベル賞を受賞した。その際の論考で、祝福を述べるとともに、スパコンの限界にもふれた。ゴードンベル賞のファイナルに残った5つの数値シミュレーションは、どれも、並列計算の弱点であるデータ通信を極力少なくなるようなシミュレーションばかりだったからである。
 かつて、スパコンの性能は10年で100倍という割合で推移していた。ところが、ここ10年間では、理論ピーク性能は1,000倍になった。これは、計算コアが「超が付くほど」高並列化したからである。今では100万の規模にまでなってきている。これだけの計算コアをいっせいに動作させる数値シミュレーションはそうそうない。理論性能の10分の1程度でも出れば十分なくらいである。

 GPU数値計算でも、理論ピーク性能がCPUの1,000倍となれば、それに期待を寄せてしまう。しかし、実際に使ってみると、それほどの威力は感じない。それには理由があり、そのことをきちんと伝えなければ、ユーザーは次第に離れていくだろう。入門書の執筆を引き受けた理由の一つが、理論ピーク性能と実効性能を明示することであった。
 スパコンも同様である。理論ピーク性能だけをとって「スゴイ!」を連呼していると、そのうち、研究者離れを起こす懸念を抱かせる。

 現在、スパコンは過渡期にある。スパコンを作り、あるいは使うことで、現時点での限界をきちんと把握し、次世代のスパコンを模索する姿勢こそがもっとも大切であると考えている。京コンピューターを通して垣間見える「次世代技術」や「次世代研究者群像」に焦点をあてるような報道があればと思う。