現在位置: ホーム torrent No.1 日本語版 計算物質科学を育てよう

計算物質科学を育てよう

CMSI若手座談会

若手座談会

藤堂(司会) 本日は、計算物質科学の各分野で活躍中の若手4名の方々に集っていただきました。 それぞれの分野における計算機教育、ソフトウェアの開発や公開の現状と課題、さらには今後のCMSIへの期待について、率直に語っていただければと思います。
まずは自己紹介から行きましょう。
宇田川 東京大学大学院理学系研究科 物理学専攻を修了し、専門は強相関電子系のモデル計算です。新奇な協力現象や秩序現象を探すのが基本的な課題で、幾何学的フラストレーションが強い物質では、電子が自由電子の数百倍の質量をもって動くように見えることがありますが、その発現機構に興味をもっています。物性研究所(物性研)のスパコンのハードユーザーです。
大庭 名古屋大学理学部物理学科出身で、豊田中央研究所(豊田中研)に勤務しています。トヨタグループの基礎研究を担当する研究所です。デバイスシミュレーション、強誘電体や水素貯蔵材料の第一原理計算、現在はリチウムイオン電池のための計算手法の開発に取り組んでいます。名古屋工大博士課程3年生でもあります。
佐藤 北海道大学大学院工学研究科材料科学専攻に在学中です。合金中の原子拡散がテーマです。鉄とアルミは温めると原子が勝手に動いて混じりますが、どのように動いて混じるのかを計算しています。モンテカルロ法を使うことが多いですね。計算機はPCクラスターが主ですが、大きい計算機も使ってみたい。
石村 京都大学大学院合成生物化学専攻を終えてから分子科学研究所(分子研)、豊田中研を経て、現在神戸大学の助教です。やっているのは量子化学計算。分子の電子状態の計算で、その高速化と並列化のアルゴリズム開発とプログラム開発をしています。特に今までできなかったナノサイズの分子を扱いたい。豊田中研では、2000コアで量子化学計算のプログラムをつくって実証していました。

ソフトは自作、プログラミングは自学自習

 

藤堂 皆さんどんなソフトを?
宇田川 シミュレーションソフトは基本的に自分で書きます。
佐藤 私も自分で書いていますが、市販パッケージのMDを使う人もいます。
常行 大学では学生にソフトを書かせるのも教育の一環ですが、企業ではどうですか。使える市販ソフトがあればすぐ使いますか。
大庭 主に社内で開発されたプログラムを使います。市販ソフトの利用は値段によります。使うときは自分で付け加えて発展させています。
藤堂 企業ではまとまったプログラミング教育をしていますか。
大庭 まったくしません。研究チームで標準的に使われているものや先輩がつくったものを使います。みんな独学です。そのため部門ごとにプログラムが違うこともあります。
藤堂 最近は、研究室に入る時点でシミュレーションに使える言語を学んでいない学生が多くなっているように感じますが。
石村 京大ではFortranの授業があって、研究室に配属されるときにはFortranはできることになっています。神戸大では学部はC言語、研究室に入った学生にはFortranを勉強してもらいます。並列化や高速化についてもC言語とFortranの両方のソースを用意して、自分でプログラムを書いてもらいます。
宇田川
物性物理の分野でもC言語とFortranが混在していて、私の研究室ではボスと私で言語が違います。
佐藤 学部の計算機演習でFortranをやります。研究室では教授はFortran、助教はC言語、私はC言語とバラバラ。プログラミングはマンツーマンで先生から教わりました。
藤堂 大学院に入って誰に指導を受けるかで言語も決まってしまうわけですね。
常行 計算理論の教育を受けたことは?
大庭 ないですね。個人的な勉強会などで学びました。入社した当初は流体チームと同じ研究室におり、対角化の理論や誤差について勉強している人がいたので、耳学問で覚えました。
藤堂 もう少しシステマティックに教育が行われていると思っていたのに、裏切られたなぁ(笑)。
常行 並列化はどうやって勉強しましたか。
石村 独学です。神戸大学では今年度から授業を始めたところですが、入門レベルでスパコンレベルではありません。修士の学生に対してPCクラスターで書けるようにという趣旨です。
藤堂 私の場合、並列化は物性研スパコンセンターの講習会で学びました。当時は並列計算機というとスパコンしかなかったのです。 そういう講習会を受けたことは?
全員 やっていると思うけれど、受けたことはないです。
藤堂 すると、みんな完全に独学?
全員 そうです。(笑)
佐藤 独学って、必要になったときにすぐに勉強を始めることができるから便利なんです。
大庭 どうやって勉強したかというと、近くの人や詳しい人に聞いての自学自習です。Webで調べて、そのプログラムを必要に応じて自分で変えたりもしています。
藤堂 大学院生に並列計算をやってもらうときには、Webで調べてやりなさいと言うほうがいいのかな。ネット上のリソースをまとめたものがあると便利ですね。
石村 研究室はまだ若い人だけなので、下級生を上級生が教えるようなシステムをつくるつもりです。
常行 大学全体でカリキュラムを整備する動きはありますか。
石村 少しずつ授業が始まっていて、だんだん充実すると思います。私のところは計算科学専攻ですが、教員の専門は数学、物理、化学、生物といろいろで、共通点は計算機を使うことです。物理や化学の人間からすると、並列化はあくまでも手段であって目的ではない。
藤堂 あんまり本格的にやると本来の専門に戻ってこられない?
石村 私がその例かもしれません(笑)。

ソフト開発は評価に結びつかない?

 

常行 論文になりにくい並列化のような仕事をどうしたら評価に結びつけられるか。計算科学を進歩させるにはそこを是非なんとかしなければならないと思いますが、よいアイデアはないですか。
石村 個人的には助教として採用していただいたことで評価してもらったと思っています。
藤堂 つまり、ポストをつくらないといけないわけだ。
石村 先生方にがんばっていただきたいなと(笑)。
常行 物性にも計算機に強い人が要るので採用したいと思っても、教授会で業績はソフトの並列化と言った途端に不採用でしょうね。
石村 われわれも、プログラムを公開して知名度を上げていくというような努力をしないといけないとは思いますが。
藤堂 皆さん、自分のつくったプログラムを公開していますか。
石村 分子研にいたころ、GAMESSというプログラムを拡張し、その一部として公開してもらったことがあります。私が中心になって開発しましたが、そのあとバグをとるなどいろいろの作業は共同でやりました。
常行 それはどのように評価されましたか。
大庭 Gaussianだと論文で引用したときに開発者の名前を出してもらえますが。
石村 GAMESSはないなぁ。プログラムの最後のところの開発者リストに名前を入れてもらっただけです。開発したからといって職を得るたしにはならないですね。
藤堂 私自身はALPSというプログラムのプロジェクトに関わっていますが、そこでは著者20人ぐらいで素粒子実験のような論文を書いてしまうんです。そしてプログラムを利用して論文を書く人には、私たちの論文の引用をライセンスで義務付けています。
石村 ソフトを公開すれば知名度も上がるという道筋をこのイニシアティブで示せれば、若手にもやってみようという人が増えると思います。
佐藤 企業ではプログラムの開発は評価されますか。
大庭 ソフトをつくるのが目的の業務であれば評価されますが、そうでない限り難しいです。ソフトをつくってどうするの? 売るの? と言われる。
藤堂 不完全でも取りあえず公開しておくと、あとで多くの人が知恵を出してくれることがオープンソースの利点だと思います。佐藤さんは公開していますか。
佐藤 していません。自分用につくり、自分がわかればいいので、汎用性にこだわってプログラムを書いていませんから。われわれのコミュニティーはそんなに大きくないからユーザーがたくさんいるとは思えませんし。
藤堂 海外の人はわりに気楽にプログラムをほしいと言ってきますね。そういうときに自分だけでつくっているプログラムだと、渡した後どうなるか不安がある。逆に公開してしまうと、こういう条件で公開するからそれに従って使ってくださいと言えます。
石村 最近は実験の人でも計算はかなりしていると思いますが、このイニシアティブで開発しているようなプログラムのユーザーではないですね。実験分野にも、研究室のPCクラスターでは不十分で、スパコンを使う必要があるというユーザーが出てくれば、状況は違ってくるかもしれません。
常行 GaussianとかGAMESSは機能がたくさんあるから、スパコンなしでも十分なんでしょうか。公開するとしたら、同じ機能のものを公開しても意味がない。今までのソフトにない機能をもっていないと。
石村 そのひとつが超並列化でしょうか。既存のソフトではなかなかアプローチできませんから。並列化や高速化で勝負すればいけるかな。
宇田川 原子核の分野とはときどきやりとりがあって、原子核の構造解析にアルゴリズムのプログラムが役立つことがあるのですが、分野によって言語が違うので、そこをどうするかという問題もありますね。
常行 自分の分野で、海外ではソフトが公開されている例はありますか。
石村 欧米などでたくさんあります。プログラム開発や公開が評価の対象になっているためでしょうか。
常行 日本は海外に比べてソフト公開が遅れているので、このプロジェクトが公開する契機になればよいと思っています。遊びのフリーウェアは日本人も多数公開していますね。ああいう発想はどこから生まれてくるのでしょうか。
佐藤 リアクションがやりがいになっているのでは?
藤堂 リアクションがソフトウェア公開のインセンティブになるだろうか。
石村 ポスドクにはそんな余裕はないと思います。研究者以外のキャリアパスがもう少し見えれば余裕も生まれるけれど、全員がアカデミックポジションにつくことは期待できませんから。
大庭 計算に対する企業の期待は非常に大きくなっていると思います。ただ、何に役に立ったかを企業は公にできないんです。ある企業で計算の人と組んでよい成果をあげているから、うちもやろうという動きはあります。今まで実験の人しかいなかった部門でも、計算の博士を採ろうという動きはあると思います。
藤堂 それでも計算機を使って仕事をしてきた人の市場があるわけではなくて、本来の専門で採るということですね。企業が計算の人を採りたいと思ったときに役に立つように、このイニシアティブにこんな人がいますとアピールしていく。そういう流れができてくれればよいと思います。

次世代スパコンを使える人材をどう育てる?

次世代石村 私は、分子研では数百コアほど、豊田中研では2000コアまでやっていましたが、1桁増えると使いこなすのに2年かかる。PCクラスターから数千コアレベル、そして今のスパコン、さらにその先の次世代スパコン。ゼロからPCクラスターまでは授業でやるとしても、その先をやれる人をどう育てるかは大きな課題です。
常行 1万コアを超えるレベルの並列計算については、できる環境が最近までなかった。このレベルになると、コンピュータサイエンスの専門家でもかなりしんどいでしょう。
藤堂 経験的に言うと、1000コア程度なら自分で勉強してもできますが、その先は業務委託のかたちで計算機のベンダーに来てもらっているのが現状です。
常行 CMSIのもうひとつの目標は、ここで並列化の支援体制をつくることです。会社から並列化の専門家に来てもらうのもよいし、コンピュータサイエンスが専門で応用にも興味のある人がいれば、リクルートすることもあり得ると思います。
宇田川 1万コアの計算をやってみたいと思う人が、希望すれば気軽に指導してもらえることになりますか。
常行 どういう課題を次世代スパコン(愛称:「京」)でやるべきかを議論する場があり、そこで課題の優先順位を決めます。若い人からこんなことをやってみたいというアイデアを公募して、それをわれわれが、おもしろい! やってみたら、と言えるしくみもできるとよいですね。近々、成果報告と来年度の計画を決める研究会を予定しているので、そこで提案していただいてもよいと思います。
石村 1000とか1万コアについてベンダーのサポートを受ける機会があれば、聞いてみたいと思う人はいるでしょう。また、学会よりもっと自由に話せる場があるとよいですね。気軽に質問できて、失敗例も出せるような。並列化については経験が重要なので、経験の共有や蓄積が大いに役立つと思います。
常行 ベンダーに頼んで特定のグループのプログラムを最適化してもらったとしても、グループの外にはノウハウが伝わらないですね。分野全体のレベルを上げる方法ってないものかな。
石村 非公式な勉強会でたがいに議論できて、ベンダーからも経験を公開していただいて、全体がレベルアップすればよいと思います。
佐藤 計算を生かした成果が出るのが大事かな。計算はまだあまり認知されていなくて、計算をしていると言うと、エーッ  !という反応です。計算が貢献できる仕事があることをもっとわかってもらえると有り難いです。
大庭 企業で計算に対するニーズはたくさんあるので、このイニシアティブのサイトにアクセスしたら、どうしたら計算できるかがわかる、あるいは共同研究のネタが拾える、そういう情報発信がなされるとよいと思います。
常行 研究のカフェテリアみたいな広報をしたいと思っています。棚にいろいろ並べておいて、みんながちょっと寄って興味のあるものをつまんでいく。そんな感じで。
大庭 あそこに行くとおもしろいネタがありそうだ。あの先生があんなことをやっていると小耳にはさんだが、その後どうなっただろう。うまく行っていれば使いたい。そんな気持ちを満たしてくれる情報源になるとよいですね。
常行 「京」の次の世代のスパコンを日本で開発できるかどうかは、CMSIで成果が出せるかどうかにかかっています。「京」を十分に使いこなし、その次の世代のスパコンはどういうものをつくっていくかの議論も始めないといけません。
藤堂 本日、「京」の出荷が始まったそうです。私たちもがんばって行きましょう!


(2010年9月29日 収録)