世界のスーパーコンピュータとそれを動かす人々


提 供

4月 6, 2021

【わがスパコン人生】第20回 長嶋雲兵

島田 佳代子
Takehiko Kato

第20回 長嶋雲兵

スパコンとはなかなかいうことを聞かない
遊び相手ですね

医者の長男として生まれ、医者になれというプレッシャーを受けながらも、当時はまだ新しい学問であった量子化学を選択された長嶋雲兵先生。量子化学を選んだ理由、計算機や研究のこと。教育者として心がけていたことや印象に残っているエピソードなどお聞きしました。


―ご出身はどちらですか?幼少期のことを教えてください。

生まれは長崎ですが小学校は千葉、中学校は広島の山奥で、高校は山奥の実家から出て、広島市内の高校へ通いました。大学は北海道の札幌でした。

僕は女5人、男2人、7人兄弟の長男坊なんですよ。僕の母親は戦時中から戦後に相当苦労したようですが、幸い(僕の)父親が職業軍人でしっかりしていて、戦後は医者になり、7人全員それなりの大学へ行かせてくれました。兄弟は、2人が理系(姉と僕)で、5人が文系でした。父親が医者だったこともあり、一番上の姉は医者ですが、後はみなバラバラです。弟は長嶋甲兵と言ってテレビ番組を作っていてかっこいいです。芸術選奨文部科学大臣新人賞とかももらっているんですよ。わが弟ながら、すごいなと思います。

僕は長男だったからか、母親には相当厳しく育てられました。一番上の姉も厳しく躾けられていましたね。漢字の書き取りの宿題など母に見つかると大変で、書き順や跳ねなど学校で習った新しい漢字の書き方で書いていると、母の知っている方法でやり直しでした。「必」の字などは思い出したくありません。そのせいか、小学校高学年では、人目につかないところでこそこそ勉強していました。小学校を卒業するころ、「中学を卒業したら家を出よう」と思っていました。僕と同様に?厳しく躾けられていた一番上の姉はとても僕を可愛がってくれました。

 
   

―学生時代に好きだった教科を教えてください。

小学生や中学生の時は覚えていないな。高校生の時に好きだったのは地理と歴史。苦手だったのは数学と英語でした。高校では文系のクラブに入っていましたが、さぼってサッカーをやっていましたね。大学でもサッカー同好会ELFを作って「楽な練習、楽しい試合」をスローガンにやっていましたよ。ELFは今も活動しています。

僕は医者の息子、それも長男坊なので、医者になれというプレッシャーは強くありました。ただ、小学生の時に父の勤務する精神病院の中に住んでいて医師の過酷な勤務を目の当たりにしていたため、医者にはなるまいと思っていました。それで大学はひとつ(北海道大学)しか受けなかったんですよ。いくつも受けるなんて準備がしんどそうで嫌でした。それで、内申書を2通取って1通だけ大学に出して、残りの1通は封を開けてこんなことが書いてあるのかって。ありきたりの事しか書いてありませんでした。まあ、「落ちるわけないよ」と、すごく生意気だったんですね。11月に受けたO社の模試では、「絶対に通らない」という結果だったのに無事受かりました。

―なぜ量子化学を選択されたのでしょうか?また、大学時代のことを教えてください。

大学は教養部(理類)に入学して2年たたないと学部へ進めないのです。学部は理学部化学第二を選択しました。量子化学はまだ新しく、訳が分からない学問でした。

ポール・ディラックというノーベル物理学賞を受賞している先生が「量子化学の原理は分かった。でも個々の分子は解けないだろう」と言われていたんですよ。その通りで、量子化学の原理は決して難しくありません。ところが、いろんな近似を入れて解く段階になると解けるように導入された近似の概念が難しくてね。最近では、巨大分子の計算ができるようになって、有機化学や材料、生命科学などで、計算化学が活躍していますが、本当に計算機様様なんですよ。

大学3年生の時、午後は全部実験の実習でした。それなりに優秀な大学なので、実験も面白かったんですよ。でも、僕は実験ができないんですよ。ガラスは割っちゃうし、高い温度計は折ってしまうし。僕は実験に向いていないんですね(笑)

当初は4年で大学を卒業して、東京で就職しようと思っていました。ところが、勉強って始めると面白くなってね。そのまま勉強を続けました。

―先生が初めて触った計算機は何でしたか?また、初めて計算機を使ったときの感想を教えてください。

初めて触った計算機と問われればHPの電卓ですが、ベクトル型スパコンとしては日立のS810、820です。分子研の時ですね。計算が速くて驚きましたよ。ただ、扱いにくいやつだなとも思いましたね。それなりに間違ってくれるでしょ。当時の計算機は時間はかかりましたが、答え合わせができました。スパコンになると答え合わせはかなり大変です。

一応言語長を長くとれば(1語32bitを64bitにとか)計算速度は遅くなりますが、計算精度を高めると期待することができるけれど、一般にはそうもいかず、以下のような例もあります。正しい数値は負ですが、128bitでも正の値、間違っています。

 

―分子科学研究所へ行かれた経緯はどういったものだったのでしょうか?

僕が2年生の時に愛知県岡崎市に分子研ができました。大学の大型計算機センターのジョブに比べたら、岡崎は分野ごとのセンターだから余裕があって、スパスパとジョブが流れるわけです。それで分子研の受託学生として、修士課程の時に分子研へ行かせてもらいました。

その頃の日本は七帝大+東工大に汎用のスパコンセンターがあって、それから宇宙研や分子研といったところに分野専用のスパコンがありました。大学関係者が使える一般的なスパコンもたくさんありました。他方、アメリカのスパコンセンターはほとんどが軍事目的で、自由には使えませんし、実行法もかなり固く決められていました。

―分子研へ入所されてからのことを教えてください。

入所した頃は名古屋大学が近くにあって、そこに大型計算機センターが入っているから、分子研にはスパコンは要らないだろうと言われていました。量子化学はスパコンには乗らないだろうというのが大方の予想だったんです。

ところが、先生方が「必要だ!」と頑張ってくれて、導入されました。最初は日立のS810H、次がS820Hでした。それで、スパコン向けのアルゴリズムが開発されて、性能が100倍ぐらいになったのは量子化学分野だけじゃないでしょうか。一番の功績は、元北海道教育大学釧路校名誉教授(多分)の小原繁先生の開発された分子積分計算法です。

この時期、スパコンの運用形態がアメリカとは違う日本独自の形態があって、ずいぶん新しい計算方法を僕らが作ることができました。

―アメリカとは違う運用形態とはどういうことでしょうか?

 
   

アメリカは国防総省の方針でジョブの経過時間を短くする。ジョブサブミットして答えが出てくるまでを短くするんです。なぜかというと軍事用だから。アメリカはとにかく全部回す。むしろCPUを使って、ディスクアクセスをしないでやりました。そういうポリシーも確かにありますが、そんなのはつまらないと。それで、分子研では計算をしている時間だけで運用しようとしました。

日本は分子研のスペシャルパーパスな研究所の計算機とはいえ、みんな使いたいからディスクアクセスをOKにしたんです。ディスクアクセスをOKにすると、ジョブのCPUの占有率は下がるわけですよ。それでジョブの多重度を上げて、皆が同時に使えるようにしたんです。もちろん運用もアメリカのスパコンセンターとは異なる運用をしました。

アメリカは経過時間つまり、ジョブを投入してから全部計算が終わるまでの時間を短くするように必要最小限のディスクアクセスを使ってジョブを実行しました。これに対して、分子研では大学のセンターと同様、ディスクアクセスを多用しても良いことにしました。

ディスクアクセスを許すとジョブに隙間ができるので、多重度があげられます。アメリカの方は、ディスクアクセスが許されていないので、ディスクアクセスをなるべくしないで、反復ごとに分子積分を毎回計算して主記憶に行列の形で保存するダイレクトSCFという新しい計算法が開発されました。ところが、メインメモリのサイズがディスク並みに大きくはないので、大きな分子の電子状態の計算はアメリカではできないことになりました。

一方分子研では、ディスクアクセスを高速化するために、パラレルIOや高速デフラグとかを日立さんに開発してもらい、高速な大規模ディスク環境を用意しました。様々なプログラムが実行される大学のスパコンセンターでは大規模なディスク環境を実現するのは難しいですが、走るプログラムの種類が少なく、ディスクアクセスパターンも似ているので、高速な大規模ディスク環境を作ることができました。

もう一つの、SSDを作ってもらいました。値段は高いのですが、速度は速いディスクでした。Jacobi法とHouseholder―QR法で、蜜行列の固有値問題をSSDを使って解くプログラムを作りSSDの性能評価をやりました。十分に早い大規模高速ディスク環境を実現できることがわかりました、結局SSDは、仮想メモリのディスクとして運転しました。

ディスクを使って実行する大きな分子の計算というのが、分子研でしかできないという感じになってきていました。まあ、実質的に日本の方がメモリをたくさん使えるわけだから80年台後半は巨大分子の分子科学的計算の研究成果は、日本の独壇場でしたね。日本独自の運用方法、独自のプログラム作成、みんなが寄り集まって仲良くやっていました。

―計算機や研究のことなど、印象に残っているエピソードがあれば教えてください。

分子研の思い出の最後に、すっごく悲しくて悔しかったことをお話しておきましょう。

S820Hを導入するとき、公開の1月前ごろに公開しているライブラリプログラム7本くらいを実行させて、ちゃんと走ることを確認して、肩の荷を下ろそうとしたところ、分子研の主力プログラムであるGの構造最適化のジョブの実行中、CPUで40分ぐらい走ると何だかこけてしまう事の報告がありました。「これは何だ?」と、もう一度調べてみると、何度やっても違う経路を走らせても、40分すぎると落ちるという現象が出て、困ったことになってしまいました。

当初からH社側のプログラムの問題であると感じていたのですが、相手はGの潜在バグが現れているに違いないと譲りません。公開までに残された時間もないので、Gの調査を僕がやることになってしまいました。結局はHの側のOSのチョンボでした。JOBが40分以上CPU時間を経過しているジョブはエラーであるかもしれないので、一度実行を止めて、ユーザに確認を取ってからジョブを止めたところから再実行するという新しいオプションで、退避したレジスタ情報が正しく戻されてはいないことが原因と分かりました。

ここは、H社内でテストされていないことも判明しました。Gを始めとするライブラリプログラムに原因があるわけではないという事で一件落着です。その時、コンパイラからの警告メッセージを全て潰せとか、色々僕にひどく指導してくれたH社の方が、あたかも自分が気付いていたかのような話や、ユーザプログラムはデバグが甘いとかをどや顔で言っていたので、カチンときました。まあ、Gをあんなに細かく読んだのは、後の勉強に役立ちましたが、それにしても新機能を出荷前にテストしていないとか身の毛のよだつ話です。こういった手抜きはプログラム開発をしている業界では珍しくないそうです。⁇?本当??と驚かされた出来事でした。

―分子研からお茶の水女子大へ移られたきっかけを教えてください。また、お茶大での話を聞かせてください。

分子研に助手として僕は10年いましたが、文科省の職員で本当は5年任期でした。国家公務員で任期付きで採用された初めての職員でした。任期切れで焦りながらいろいろなところに応募しましたが全然採用されず、気力も体力も自信も失っていました。そんな時お茶大情報の細矢治夫先生に声を掛けて頂きました。

お茶大情報はできたばかりの学科でした。そこでセンドとレシーブ関数らしきものを作り、クラスター型の分散メモリ並列計算機を作って、強制振動法とかの固有値問題解法のプログラムを作って並列計算と並列計算機を学びました。プログラムの並列化は、ベクトル化に比べると格段に難しく、自動並列化コンパイラなど当分出てこないなあと思いました。

授業も半年ぐらい準備してコンパイラなどノートを作っていたんですよ。ところが、1回目のノートを回収したら、僕が作ったものよりいいんですよ。皆、ノートに関してはレベルが高い。それで、僕はノートは作らないことにして、学生が作ったものの中から良いノートを配りました。

化学科の学生に、プログラミング実習を立ち合いした時に、そんなに難しくないので、動画を作らせたんです。最終講義のひとつ前だったかな。皆で自分のオリジナルの動画を作るように言ったら、歌までつけてくる学生が何人もいて。全然知らなかったけれど、発表をさせた日にたまたま文科省から見学者が来ていたらしくて、「授業中にドラえもんの歌が聞こえてきたけれど、ちゃんと講義はやっているんですか?」なんて言われてしまったこともあります。

―教えている時に心掛けていたことはありますか?

助けないこと。子供もそうですよね。もちろん、事故で怪我とかは困るけれど、なるべく手を出さないようにしますよね。結果が速く欲しいときって助けるけど、学生に与えるテーマって時間が掛かっても構わないものばかりだからね。だから、手助けしすぎるのはダメですね。

たとえば就活中の学生には、いつまでにドクター論文(卒業論文)を書いてといった年間計画を立てさせて、研究の進め方に関することはアドバイスをします。ただ、「教科書のどこに書いてありますか?」という学生には、書いてあるのを探すより、考えてみようと。日本人って自分で考えたり、自分の意見を言うことを恥ずかしがりますよね。一番大事なことなのに。

手っ取り早く教えてしまう方が、教える方も教わる方も本当は楽なんです。だけど、新しいことだったり、誰も知らないことというのは、やっぱり自分でそれなりに納得しながら答えを探さないといけませんよね。他人にとってのベストではなくて、自分にとってのベスト。

nの階乗の計算をさせたら、スターリングの公式を出してきた学生もいて。まだ情報は学問にはなっていないから、物理へ進めば良いのにと思ったこともありますね。学生の質は良かったです。

―その後、移られた産総研でのことを教えてください。

お茶大には6年いて、産総研へ移ったのですが、学生を育てるのには時間がかかるんですよ。自分で研究をやりたかったというのが移った最大の理由です。産総研はやっぱり研究するような場所でした。論文は読めるし。昼寝しても徹夜してもいいし。

量子化学は速くて大きな計算機を使うんだけど、大きな計算機って誰もが使えるものではないので、大きなMO計算をしながらAIを始めました。その発想はお茶大の時からで移る少し前から準備はしていました。今、AIは第3次ブームだけど、僕は随分早かったよね。30年前だから。実際にAIを始めたら、やっぱりAIは簡単でいいなと思ったけれど、分かったことは「使える人間を育てるのは大変。使える研究者、ユーザをね」。

それから組込み型の分子軌道計算専用システムを作らせてもらいました。京や富岳のように電気をいっぱいくうモンスターじゃなくて、ゲーム機のように家庭電力でそれなりに速いもの。それだったら、場所もいりません。

―スパコンと出会えてよかったですか?先生にとってスパコンとはどういったものですか?また今後のスパコンに期待することを教えて下さい。

ええ。出会えてよかったです。管理者にもなったのでね。スパコンとはなかなかいうことを聞かない遊び相手ですね。計算機って答え合わせをしないと少し不安ではあるけれど、70%まで分かればいいんじゃないでしょうか。

―同じ業界を目指す若い人たちへのメッセージをお願いします。

自分のことは棚に上げて、[生身または機械の人間と話ができる、2人でチャットを楽しめる]かは重要でしょう。アイディアだけで終わるのか、実際に手を付けることができるのか。

僕が幸せだったのは、専用計算機やAIもそうなんだけど、周りの人たちがなんとなく手を付けさせてくれました。やはり、なんでもやってみないと分かりません。

スパコンって使うことだけが目的ではないんですよね。自分が生きられる時間の中で、その情報を得るのにどうしたらいいのか。昔だったら、論文になどの印刷物にあたるのが速かったけれど、今は計算してしまう方が速い場合も多い。僕らの役割は高速な計算機を用いて、問題解決のヒントを見つけ出す事をつないでいくということに尽きると思います。

(写真:小西史一)

 

Umpei Nagashima

長嶋雲兵氏 略歴

昭和58年 北海道大学大学院理学研究科博士後期課程退学 理学博士(北海道大学)
昭和58年 岡崎国立共同研究機構分子科学研究所電子計算機センター助手
平成4年 お茶の水女子大学理学部情報科学科 助教授
平成8年 お茶の水女子大学理学部情報科学科 教授
平成10年 通産省工業技術院物質工学工業技術研究所基礎部理論化学研究室長
平成11年 通産省工業技術院産業技術融合領域研究所計算科学研究グループ長
平成14年 独立行政法人産業技術総合研究所グリッド研究センター総括研究員
平成17年 独立行政法人産業技術総合研究所計算科学研究部門総括研究員
平成26年 独立行政法人産業技術総合研究所ナノシステム研究部門総括研究主幹定年により退職
平成26年 公益財団法人計算科学振興財団FOCUS  研究部門長
令和3年 公益財団法人計算科学振興財団FOCUS 定年により退職