#091:やわらかいハードウェアで計算を変える

代表者 : 小林 諒平  

 

計算科学研究センター 小林 諒平  助教

 スーパーコンピュータ(スパコン)というと、2011年に世界最速となった「京」が有名です。筑波大学が東京大学と共同で運用しているスパコン「Oakforest-PACS」は、2016年に「京」を上回る演算性能を達成しています。ただし、この演算性能は連立一次方程式の解を求めるプログラムLINPACKを用いて測定されたものであり、この性能が高いからといって、他の科学技術計算も同じスピードで実行できるとは限りません。実行したい科学技術計算の特性と、超並列計算機システムであるスパコンの構成、つまり演算を担当するハードウェアの構成と演算に必要となるデータの通信機構しだいなのです。そのため、「京」で実行させていたプログラムを「Oakforest-PACS」で実行させたら遅かった、なんていうことも珍しくありません。しかも、スパコンの構成、特に演算を担当するハードウェアであるプロセッサの中身は、一度開発されてしまうと変更は不可能です。そのため、プロセッサの構造上の理由により、不得意な計算は不得意なままであり、その計算に対して最適化を施したとしても、その恩恵はある程度までしか得られない可能性があります。そこで注目されているのが、電子回路のパターンをプログラムできる(やわらかい)ハードウェアであるField-programmable Gate Array (FPGA)上に、不得意な計算を高速にこなす機能を実現させ、スパコン全体の演算性能と電力効率を向上させるアプローチです。小林さんは、この、やわらかいハードウェアが高性能計算の世界を変える鍵だと考えています。

 (東京大学柏の葉キャンパスにあるOakforest-PACSのほかに、大学構内では
 COMAというスパコンが運用されている。写真のHA-PACS/TCA は3月に運用
 を終えた)

 コンピュータの頭脳にあたるCPU(Central Processing Unit)は、飛躍的な高性能化を遂げましたが、高速化の追求という点では、限界も見えはじめています。そこで利用されるようになったのがGPU(Graphics Processing Unit)というデバイス。もともとは画像処理用に開発されたものでしたが、同時にたくさんの計算を行う並列処理に適していることから、科学技術計算にも応用する試みが進んでいます。スパコンの世界では、GPUを活用した研究開発事例が数多く存在します。けれども、GPUは消費電力が大きい上に、条件付けをして計算を分岐していくような複雑な処理は不得意など、万能というわけではありません。おまけに上記で述べたように、CPUやGPUの中身は一度開発されてしまうと、変更は不可能です。これが、“ハード”ウェアと呼ばれる所以です。

 そこで、注目されているのが上述のFPGAというデバイスです。内部のデジタル回路を書き換えることができるプログラミング可能な半導体で、これが「やわらかいハードウェア」です。これ自体は1980年代からあるものですが、性能が低いとされ、あまり利用されていませんでした。ところが数年前、マイクロソフト社が発表した、FPGAを使って検索スピードを高速化するという研究成果をきっかけに、大ブレークしました。この研究成果を簡単に言うと、FPGAを利用することでCPU(ソフトウェア)のみのときと比較して2倍の処理スピードを達成するというものです。つまりCPUのみの場合と同じ性能を達成するにあたって必要となるリソースは、CPUのみの場合の二分の一でよいということでもあり、電力効率の観点からも有利です。ただ、デジタル回路のプログラミングでは、どのタイミングで、どのような計算をどのように行うか、細かい指定が必要なため、使いこなすのはなかなか大変です。それを少しでも簡単にするというのも、小林さんの研究テーマです。

 CPU、GPU、FPGAそれぞれの特性をよく理解し、これらをうまく組み合わせて、互いの不得意分野を補ったり、効率的にデータのやり取りをして高速で計算結果を導き、かつ電力消費も少ない、全く新しい計算システムを構築する。これが、小林さんが目指していることです。そのためにやるべきことは、計算したい事柄や入力するデータの理解、効率的な処理のプロセスの構築、使用するデバイスの性能からコンピュータの理論性能を推定するなど、非常に多岐にわたるとのことです。その上、スパコンの中は様々なデバイスがグループワークをしているようなものですので、目的とする計算を効率的に処理するためには、全てのデバイスを統括し、それぞれのデバイスが互いに協調動作するための枠組みも必要なのだそうです。

 プログラミングをしてデバイスが動き、素早く正しい結果を出してくれる、それがコンピュータを使った計算の楽しいところだと、小林さんは言います。どんなに性能の良いスパコンも、計算すべき問いがあってはじめて価値を持ちます。一方、宇宙の起源の探索や気象のシミュレーション、創薬の分子設計、さらには人工知能の機械学習など、膨大なデータを取り扱うことのできるスパコンがなければ成立しない計算が増えています。スパコンの性能やプログラミングを熟知した人たちと、計算すべき研究テーマを持った人たちとが協働することによってはじめて、スパコンは威力を発揮するのです。やわらかいハードウェアが、高性能コンピュータの用途を広げ、私たちの暮らしをより豊かにしてくれるはずです。

 (現在、計算科学研究センターで稼働しているクラスタシステムPre-PACS-X (PPX)の計算ノードの中身。
 CPUが2台、GPUが2台、FPGAが1台含まれている)