誰もが使えるプログラムを書く-量子色力学シミュレーションの標準化を推進


計算科学で迫る素粒子の世界

野秋 淳一 特任助教

素粒子物理学と聞くと、大型加速器のような巨大な実験装置や、小林・益川理論などを思い浮かべます。でも、ここで紹介するのはそのどちらでもありません。スーパーコンピュータを使った計算科学で迫る、素粒子の世界です。HPCI戦略プログラム分野5でユーザー支援を担当する、高エネルギー加速器研究機構(KEK)の野秋淳一(のあき・じゅんいち)特任助教に話を聞きました。

「いまの仕事を一言でいえば、格子QCDシミュレーションの共通コードを書くことです」と野秋さんは言います。さて、これは困りました。何のことかよくわかりません。どうやら今回は、言葉の理解から始めなければならないようです。

「QCD」はクォークとグルーオンの力学

図1 光の3原色:R(赤)G(緑)B(青)とそれぞれの補色:C(シアン)M(マゼンタ)Y(イエロー)。R、G、Bの3つがそろうか、RとC、GとM、BとYの組み合わせで無色になります。

まず、格子QCDのうち「QCD」に注目します。これはQuantum ChromoDynamics の略で、日本語では量子色力学(りょうしいろりきがく)と呼ばれます。この理論は、物質を構成する基本粒子である「クォーク*1」と、クォーク同士を結びつけている「グルーオン*2」のふるまいを説明します。現在のところ、QCDに基づいた予想と実験結果との間には矛盾がなく、最も有効な理論といえます。

クォークは6種類あり、それぞれが3つの状態をとります。これを区別しようと、光の3原色になぞらえて赤、緑、青と呼ぶことにしたため、量子“色”力学という名前がついています。

ところが、日常の世界ではクォークの色を感じることができません。なぜなら、ちょうど無色になるクォークの組み合わせだけが物質を構成できるからです(図1)。たとえば、原子核の中にある陽子や中性子は3つのクォークでできていますが、これらは必ず3原色がそろっているため、全体として無色になります。クォーク同士の結びつきは非常に強く、“色”は物質の奥深くに閉じ込められているのです。この結合力のことを「強い力」といいます。

QCDの本質に迫る

QCDについて少しイメージをつかめたでしょうか。しかし、大きな謎が2つあります。まず、どうして色の閉じ込めなどという現象が起こるのでしょうか。野秋さんは言います。「これはQCDの“漸近的自由性”に根ざしています」。近づくにつれて自由になるという意味ですが、どうも日常の感覚からはかけ離れています。

私たちが普段感じることができる力は、重力や電磁気力です。互いが近づくほど力は強く働き、遠ざかれば弱くなる。それがあたりまえです。しかし、クォークではそれと逆のことが起こっているというのです。もし陽子の中をのぞくことができたら、自由に飛びまわるクォーク達を目にすることでしょう。

もうひとつ素朴な疑問があります。質量の問題です。陽子を構成するクォーク3つの質量をたしても、陽子の質量の100分の1程度にしかなりません。グルーオンの質量はゼロですから、やはり圧倒的に足りません。ということは、QCDには質量を生みだす何らかのメカニズムがあるに違いありません。それが「“カイラル対称性の自発的破れ”という性質」(野秋さん)です。

クォークとグルーオンの基礎理論であるQCDは、あらゆる素粒子の反応に関係します。漸近的自由性とカイラル対称性の自発的破れによって、バラエティー豊かな物理現象が起こります。これらの理解と解明に向けて、研究者は日夜格闘しているのです。

「格子QCD」の数値シミュレーション

「QCDの研究では、大型計算機による数値シミュレーションが決定的な役割を担っています。この研究手法を格子QCDといい、“紙と鉛筆”による計算では決してたどり着けない理論の本性に手が届くのです」と野秋さんは言います。

シミュレーションとは、ある特定の対象の振る舞いを仮想的に見ていくことです。大気の状態やお金の流れを研究したり、はたまた人生設計に役立てたりもできます。こんなことができるのは、余分な要素をそぎ落として簡単化した「モデル」を扱っているからです。

図2 空間と時間を格子状に区切って計算する「格子QCD」(画像提供:KEK)

「格子」とは、連続的な空間と時間とを格子状に区切ることを意味します(図2)。こうすることで方程式の数を有限にし、数値計算が可能になります。これがモデル化です。しかし、格子QCDの場合、モデル化しても簡単化したことにはなりません。格子状に区切るという表現方法が、通常のQCDと比べて違うだけで、何もそぎ落としていないのです。格子QCDの際立った特徴です。

計算結果の精度を高めるためには、格子のサイズを大きく、きめを細かくする必要があります。それにつれて計算量は莫大になるため、計算機の性能がものを言うのです。

日本の研究グループは、これまで世界をリードしてきたといえます。しかし、今後もトップを走り続けるためには、京速コンピュータ「京」のような計算機資源を確保していくことが必要です。

誰もが使える「共通コード」をつくる

ただ、高性能の計算機があるだけでうまくいくほど、格子QCDの研究は甘くありません。その計算手法にはいくつもの選択肢があり、目的に応じて最良のものを選ばなくてはなりません。また、新しい方法を開拓することも重要です。これらの活動の中心は数値シミュレーションのプログラムを作ることにあります。「プログラム」よりも「コード」と呼ぶことが多いので、以下ではそれにならうことにしましょう。

コードは日常の言葉で書かれているわけではありません。計算機にわかるプログラミング言語で書かれています。格子QCDシミュレーションにかかる計算量は膨大です。ひとまとまりの大計算を最初から最後までやりぬくのに数年間かかる、なんてこともあります。

研究者たちは計算の計画を立て、それに使うコードを開発し、いくつかのテストを経て本格計算し、最後には結果を論文としてまとめます。これまでは、研究グループとその計算計画の数だけコードが作られてきました。すでにあるコードを再利用しようとしても、目的に合わなかったり、作者以外には理解できないものだったりで、結局自分で最初から書く羽目になるのです。

図3 デザインを考えて共通コードを書く

そこで近年、誰もが理解でき、拡張性・汎用性の高いコードを開発し、研究者のコミュニティーで共有することで、研究の効率化を図ろうという動きが広まりつつあります。野秋さんが携わっている共通コード開発は、このような背景から、今後欠かせないテーマとなります(図3)。

野秋さんは言います。「コードは、ただ書くだけではダメなんです。研究者の誰が見ても理解できるよう、デザインされていなくてはなりません。系統立った構造を表現するために、オブジェクト指向言語であるC++(シープラスプラス)を使っています」。

戦略分野5の使命のひとつは、計算科学分野の裾野を広げることです。そのためには、新たに加わる研究者・学生にとってのハードルをできるだけ下げることが第一です。さらには、この分野で培われたテクニックを継承していく手段としても活用できるよう、誰もがわかる「王道のデザイン」(野秋さん)が必要なのです。

共通コードの完成度を高めつつ、物理に応用する

野秋さんは大学院生として、筑波大学と筑波大学計算物理学研究センター(計算科学研究センターの前身)で5年間を過ごしました。しかし、数値シミュレーションのコードとの関わりは比較的薄かったそうです。

むしろユーザーの立場で計算を遂行し、結果を解析して物理現象の理解と結びつけることに取り組んできたとのこと。その後5年間にわたるアメリカ、イギリスでの研究生活の間も、またKEKに移ってからも、しばらくはそのスタイルで通してきました。

ところが2年くらい前から、研究情勢もあって徐々にコードや計算手法に携わることが増え、共通コード開発の計画が始まってからは全精力をそこに傾けています。

「KEKでは今年度、スーパーコンピュータの更新が行われます。9月から運用が始まるので、そのタイミングに合わせるべく、追い込みをかけています」と野秋さん。「運用後は改良点や不満点がおそらく見つかるでしょうし、様々な意見が寄せられると思います。これら一つひとつをクリアしていくことで、共通コードの完成度を高めていきたいと思います」。

いずれは数値計算にも物理にも精通した“一人前”の研究者に成長したいという野秋さん。自らが中心となって開発した共通コードが研究者コミュニティーに広まり、それを自らも利用して素粒子物理の発展に貢献していく。そんな野秋さんの姿が将来見られることでしょう。

<用語解説>

*1 クォーク
物質を構成する基本要素で、6種類(アップ、ダウン、ストレンジ、チャーム、ボトム、トップ)あります。

*2 グルーオン
陽子や中性子などの内部でクォーク同士を結び付ける、強い力を伝える粒子。クォークと同様“色”を持ち、その違いによって8種類のグルーオンが存在します。