ykondo813’s diary(旧パワエレ・EMC日記)

高周波、電磁気学、電気回路について勉強したことをまとめたものです

スパコン開発の意義

昨日、理化学研究所富士通の開発した「京」がLINPACKベンチマークにおけるスパコンランキングTOP500にて見事世界1位となった。
その性能は8PFLOPS、すなわち1秒間に8000兆回の浮動小数演算を行うことができ、7年前世界一となった地球シミュレータの35TFLOPSの240倍の性能を誇る。多かれ少なかれ多くの国民を勇気付けるものとなるだろう。
水を指すようでなんだが、一時期事業仕分けで必要性に疑問符が付けられ、総工費1100億円をかけて、世界一のスパコンを作ることにどれだけの意義があるのかを書いてみたい。結局世界一のものを作ることに意味があるのではなく、どのように使うのかが意味があるのだから。

私の結論は、(定量的に1100億円の価値があるかどうかは言えないが)大きな意義がある、である。計算機科学に携わるものとして、意義を書いてみたい。

モノづくりの最前線でスパコンは役立つか?
製造業での設計業務ではここ10年来コンピュータによる数値計算(CAE)が普及し、日々設計者が数値計算をしながら設計を行っている。いきなり逆説的なことを言うのも恐縮だが、スパコンを使うことにより設計業務がすぐに効率的に行えるのか?という質問に対しては答えはNoである。理由はいくつかあるが、(1)設計者が使う数値計算のソフトの大多数はスパコンでは効率的に動かないこと、(2)スパコンは大抵はUNIXベースであり、ITのプロではない設計者にとって敷居が高いこと、が支配的だと思う。
(1)について説明する。スパコンは大量のコンピュータを繋げて並列処理で動かすことでその性能を発揮する。設計に使う数値計算ソフトは汎用性を重視しているので、並列処理に向かないアルゴリズムが採用されていたりしてなかなか性能を発揮することはできない。並列処理をしないで計算することも可能だが、スパコンのCPUはベクトル計算機のように並列化ありきの構造だったり最新でないXeonOpteronなどを使用していたりするので、並列処理をしないならば最新のPCをリースして計算させた方が高速な場合が多い。スパコン上で高速に計算するにはソフトウェアをスパコン用にガリガリにチューニングする必要があるのだが、そうすると汎用性が失われるので開発元はなかなか対応しないだろう。
この時点でなかなか敷居が高いのだが、(2)によってより絶望的になる。設計者は数値計算が仕事ではなく、良い製品を開発するのが仕事である。決してITに関するリテラシーが高いわけではないのである。計算以外の業務に忙殺される中、わざわざ高い敷居を乗り越えてスパコンを使おうとする設計者はかなり少数派であろう。

どのような分野でスパコンが役立つのか?
スパコンは天気予測に役立つとよく記事に出るが、天気予報だけでは1000億円の価値はないと思う。それでは他にどのようなところでスパコンが使われているのか見てみたい。地球シミュレータのHPで研究成果の検索をしてみた結果がこちらである。
・高レイノルズ数チャネル乱流の局所等方性のDNSによる検証 / 森下, 浩二 / 石原, 卓 / 金田 , 行雄
・陽解法衝撃解析コードの実大6層鉄筋コンクリ-ト建物の振動台実験結果への適用 / 金井, 喜一 / 武田, 慈史 / 眞鍋, 慶生 / 丹羽, 一邦 / 河西, 良幸
・時間依存密度汎関数理論で解き明かす、ナノカーボンと高強度超短パルスレーザー光との相互作用 / 宮本, 良之
工学に役に立ちそうな研究を適当にピックアップした。いずれも複雑系の解析だと思われるが、複雑な現象を調べるには力づくで計算機のパワーで無理やり解かなければならないことがままある。無理やり解いた結果を分析し、そこから得られた知見から複雑系をうまく表現できるモデルを開発するのである(流体系ではよくこういうことがあるようだ)。また、開発されたモデルの検証にもスパコンによる力づくの計算が必要だ。
 このようにして複雑系を表現できるモデルを作るのに役に立つのだが、これが何の役に立つのか?十分に役立つのである。複雑系を(一定の仮定の下)シンプルに表現できるモデルができれば、ものづくりの現場で使われるような商用コードに組み込まれることもありうる。また、従来の商用コードでは解けない現象をシミュレーションできる新たな商用コードを開発することも可能だ。商用コードの性能が上がれば、モノづくりの現場でも役に立つのである。このような研究は基礎研究とか研究開発と呼ばれモノづくりの上流と言われている。スパコンはモノづくりの現場では直接役に立たないが、その上流側での基礎研究では役に立つのである。

廉価版スパコンもあるのに1000億円で作る価値があるのか?
数千万円でスパコンが作れるという話も事業仕分けのときに話題になった。長崎大学濱田准教授GPUを並列接続し、日本最高速の演算を成し遂げた。もちろん濱田准教授の業績は大変素晴らしいものであり、敬意が払われるべきものである。しかしこの廉価なスパコンGPUで構成されており、GPUは万能ではない。GPU計算は通常のスパコン以上に癖があり、かなり計算できるアルゴリズムを選ぶ。分子動力学や粒子法および差分法などの手法には絶大な威力を発揮する。一方流体シミュレーションなど、楕円型方程式を解く必要があるときは、かなり難しいのでは思う(現に粒子法以外の流体計算はGPUで行われていない)。要は廉価版のスパコンでは、通常のスパコンよりもさらに計算できる対象が狭くなるので、通常のスパコンではないとできないことがあるのである。通常のスパコンにすると価格が跳ね上がるので費用対効果を考えなければいけないが、通常のスパコンを作ることに意義はあると思う。

結論
色々と書いたが、結論として(1)スパコンはモノづくりには直接役に立たないが、上流側での基礎研究では役に立つ、(2)廉価版スパコンもあるが、高価なスパコンでないとできないこともある、ということが私の主張である。定量化出来るほどこの分野に詳しいわけではないが、1000億円かけてスパコンを開発することにそれなりの意義はあると思う。