スーパーコンピュータ「京」(以下、「京」)は理化学研究所にある、世界トップレベルの性能を誇るスーパーコンピュータ、略してスパコンです。
今回は、「京」についてお話をうかがうために、兵庫県神戸市にある理化学研究所・計算科学研究センターにお邪魔しました。
お金のかかる実験も「京」なら低コストに、より詳しく
「2006年から開発が始まった『京』は、2011年には計算速度で世界一になりました」。この日案内してくださったのは、理化学研究所・計算科学研究センターの岡田昭彦さんです。
「『京』を一言で表すとすれば、高性能のパソコンを何万台もつなげたコンピュータと言えるでしょう。皆さんがお使いのコンピュータにもCPU(中央演算処理装置)といって、実際の計算を行う、いわばコンピュータの頭脳にあたる部分があります。
ほとんどのパソコンではCPUは1つか2つですが、『京』は8万3千個ものCPUが使われています。『京』は8万台以上の高性能のパソコンを集めて計算を行う、まさにスーパーコンピュータなのです」。
世界トップレベルの「京」の計算速度は、1秒間に1京回(1京は10の16乗)。これが「京」の名前の由来にもなっています。
「2012年から本格的な運用が始まった『京』は、さまざまな分野で多くの成果を上げています。その一つが自動車の開発に関わる研究です。
自動車を開発する過程では『衝突実験』といって、車が事故などで衝突した時にどのようなことが起こるかを調べる実験を行います。
でも、実験に必要な車は1台が数千万円もします。それを何十回も行うわけですからたくさんの時間や費用がかかり、メーカーにとっては大きな負担です。
しかし、『京』を使えばそれほどの費用をかけなくても、実際に衝突時に起こることをコンピュータの中で再現することができます」。
「また、車の開発では『風洞実験』を行って、車が走っているときの車の周りの空気の流れを調べる必要があります。車の設計では、燃費や走行安定性の面で、空気の力がどのように車に影響を与えているかが大きなポイントなのです」。
「風洞実験を実際に行う場合、さまざまな方向からの空気の流れを試すことは難しいのですが、コンピュータの中では、いろんな角度からいろんな強さの風が来た時にどのようなことが起こるのかを試すことができます。
この技術は実際の車の開発に使われていて、スパコンを使って実験をした車がすでに一般に走行しています。」
「衝突実験のように、コンピュータの中で実験することを『シミュレーション』といいます。なるべく多くのデータを使って、まず現実と同じような状況をコンピュータの中で作り出します。
そして『もしこんなことが起こったら、次にどんなことが起こるのか』を模擬実験するのです。多くの計算を高速に行うことができる『京』は、シミュレーションが大得意なのです」。
私たちも大事なプレゼンテーションの前や、初めての場所へ訪れる場合など、実際の様子を思い浮かべながら、あらかじめ頭の中で『シミュレーション』しますよね。「京」も同じなんですね!
地震や津波などの防災に力を発揮するシミュレーション技術
「こういったシミュレーション技術は、台風や地震などの災害で起こることを予測するのにも役立ちます。その一例が、高知県高知市20万人の避難シミュレーションです。南海トラフ地震が起こることを想定して、スパコンによるシミュレーションを行い、あらかじめ対策を練ることで被害を最小限にしようとするものです」。
「そこに住んでいる人の数や年齢層、建造物の大きさや強度、道の幅など、多くのデータをもとに、コンピュータの中で都市を再現します。
その上で、いざ地震や津波が起こった時に、人がどのように動き、何が起こるのかを予測できれば、その街の弱点がわかります。
たとえば、避難するときにこの橋はたくさんの人が通るので、古いから補強したほうがよいとか、ここに避難所が足りないから新たに設けようとか、実際に災害が起こる前にできる限りの対策を行うことができます。
現在では多くの都市で、こういったコンピュータによるシミュレーションを使った都市整備が進められようとしています。多くのデータを入れて膨大な計算ができるのも、「京」だからできることなのです」。
2021年には『京』からポスト『京』へ!
防災や医療、社会生活など、私たちの生活に関わるありと多くの分野で成果をあげてきた「京」ですが、来年にはその役目を終えて、2021年からは後継機であるポスト「京」に、その役目をバトンタッチします。「現在、国内の大学や研究機関と協力して、ポスト『京』を動かすための環境やアプリケーションの開発が進んでいます。来年には『京』の運用を終了して、ポスト『京』の本格運用に向けた構築作業が始まる予定です。ポスト『京』は、災害予測や気象予測、薬の開発やエネルギー開発などに力を発揮すると期待されています」。
スパコン用のプログラミング言語って??
ここからは、ポスト「京」の開発にも関わっておられる、理化学研究所・計算科学研究センター・プログラミング環境研究チームの中尾昌広研究員に、お話をうかがいました。「私の研究は、スーパーコンピュータ用のプログラミング言語の開発です」とおっしゃる中尾研究員。
ーースーパーコンピュータ専用のプログラミング言語なんて、あるんですか!?
「C言語やBASIC、Pythonなど、世の中にはたくさんのプログラミング言語がありますが、その多くは1台のコンピュータの中で動かすことを想定して作られています。
『京』などのスーパーコンピュータでは、多くのコンピュータを同時に動かして計算を行うので、通常のプログラミング言語でプログラムを書くと、とても複雑なものになってしまいます。
そのため、より簡単で、かつスーパーコンピュータの性能を最大限に引き出すことができるプログラミング言語の研究を行っています」。
中尾さんが開発に参加しているプログラミング言語『XcalableMP(XMP)』は、一般的に使われているC言語やFortran言語に指示文(下の写真の赤字部分)を加えることで、複数のコンピュータが同時に計算を行うようにしたものだそうです。
研究者に必要なのは、世の中や身の回りで起こっていることを感じとる力
もともと大学ではタンパク質の立体構造予測などを研究されていたという中尾さん。プログラミングを始めたのは、大学に入ってからだそうです。「子どもの頃も特にゲームにはまったとか、コンピュータに詳しかったというわけではなく、研究で必要だったからプログラミングを始めたという感じですね。このセンターの研究員の中では珍しいパターンかもしれません。
研究では、うまくいくことのほうが少なくて、たいていは失敗の繰り返しです。でも、うまくいかなかった理由を一つ一つ考えながら、解決策を探る過程が楽しいんです」。
ーーコンピュータの研究者というと、昼夜関係なく、誰とも話さずに黙々とコンピュータに向かっているイメージがありますが?
「あえて時間にメリハリをつけて仕事をするようにしています。普通の仕事よりも時間の自由は利くとは思いますが、いつも研究ばかりしているわけではありませんよ。
また、研究はチームで行うことが多いので、コミュニケーションも必要です。特にアプリケーションの開発では、自分で作ったものを共同研究者や同僚に使ってもらって、その感想や意見を参考にしながら進めていきます。そのためにも、互いに意思疎通がとれていなければなりませんね。
研究者といっても研究室にずっとこもっているわけではなく、学会や研究会など、外に出る機会は頻繁にあります。
他の研究者と情報交換したり、自分の開発しているものに対して意見をいただいたりするためにも、こういった機会はとても貴重なのです」。
ーー研究者を目指すお子さんたちにメッセージをお願いします。
「研究者として最も大切なのは、『問題を発見すること』だと思います。たとえば、わたしのように工学に関係する研究分野では、なにか不便があっても『これはこういうものだ』と納得してしまったら、そこで終わりです。
困っていることを探し出し、『どうすればもっと良くできるだろうか』と、つねに考え続けることが大切です。
工学の研究者の仕事は、何か新しいものを発見すること、または作ることです。そのために必要なのは、世の中で何が起こっているかを知ることだと思います。
今、世の中で問題になっていることは何か、どんなものが求められているのか、そういうことを知らなくては新しいものや世の中で役に立つものを作ることはできませんよね。
ですから、お子さんたちにはぜひ、今を感じて、今の生活を楽しんでほしいですね。わたしは休みの日などは美術館に行ったり、映画を見たりしています。
研究とは直接関係はないのですが、そうやって自分の感性が鈍らないようにしています。
研究者といっても研究だけをしていてはダメで、いろんなことに目を向けることが大切だと思います。研究者を目指すお子さんなら、ぜひ勉強以外にもいろんなことに興味をもってほしいですね」。
編集部より
「これからも研究を発展させて、さらに社会に貢献できるような研究をしたいです」とおっしゃる中尾さん。今回お話をうかがって、「京」を使った研究が私たちの生活と深く関わっていることがよくわかりました。
さらにスゴイ性能を備えたポスト「京」の登場で、私たちの生活がこれからもっと良くなっていくと期待しています。岡田さん、中尾さん、どうもありがとうございました!
理化学研究所では、11月23日に毎年恒例の一般公開を行います。「京」に会えるのは今年が最後になるということですから、ご興味のある方はぜひこちらをチェックしてくださいね。
(ポスト「京」についてはこちら)
取材協力
理化学研究所 計算科学研究センター