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


提 供

6月 1, 2020

【わがスパコン人生】第16回 福井義成

島田 佳代子
Teruo Matsuzawa

第16回 福井義成

実行効率が簡単に50%出るCAE用計算機を作りたい

30年に渡り半導体から原子力といった分野まで幅広く、東芝でアプリケーションに携わられた経験や、敬愛するシーモア・クレイのこと、仕事を通じて出会った人々とのエピソードなどをお聞きしました。  

 

大変で嫌だと思った仕事も、後で必ず生かされた


―バックグラウンドを教えてください。幼少期はどういったことに興味があるお子さんでしたか?

生まれは東京都江戸川区ですが、父の関係で本籍は富山県でした。本家が宇奈月温泉で温泉旅館をやっていました。曾祖父が富山県の県会議長をやっていたそうで、元々は松平忠直の家老だったようです。今では、本籍は東京に移しました。

小さい頃から機械ものが好きでした。針金を丸めていじったり、模型を作ったりしていました。小学生の頃、近所の子供たちの間で戦艦の模型を作るのが流行っていて、作って川に持っていて動かすこともしました。物を作るとか、物が壊れるといったことを小さい頃から実際にやっていましたので、もんじゅの事故の翌日に私のところに設計図が届きましたが、見た途端にこれは壊れるだろうと思いました。それは理論的にではなく、こんな形だと壊れるなという素朴な感覚でした。

子供の頃から写真を撮るのも好きでした。小学校か幼稚園ぐらいの時にフジペットというブローニー版のカメラを買ってもらったのが最初で、大学生の時には一眼レフも買いました。その頃、Kodakのコダクロームは日本では現像ができなくて、ハワイまで送って1カ月くらいするとスライドになって戻ってくるなんてこともありました。 地元の下小岩小学校と小岩第5中学校を卒業した後は、錦糸町にある両国高校、そして早稲田大学理工学部電気工学科へ進みました。

 
   

―最初に使った計算機は覚えていますか?

最初に計算機を使ったのは大学3年生の時で、IBM7044というIBM7090の下位機種を使いました。その上にあったLGP30(ドラム計算機)のシミュレータで、アセンブラでソフトを書いたのが最初です。その後、半導体のシミュレーションをするのに計算機に関わるようになりました。4年の時には機能素子のシミュレーションをFORTRAN Ⅳで書きました。実際にシリコンを引き上げて サンプルを作って実験をしていましたので、シミュレーションよりは実験の方が面白かったです。

大学卒業後は東芝へ就職しました。社長が土光敏夫さんの時です。伯父が東芝にいたのですが、文系(事務計算)でも計算機を使いたいという人で、「東芝は技術の会社だから計算機が必要です」と当時の副社長に訴え、IBM7090を導入し、総務部機械計算課の初代課長となりました。偶然ですが、小柳義夫先生のお父様が東芝に居られ,IBM7090のユーザだったようです。小柳先生は子供の頃、富士工場の社宅に居られたそうですよ。

―東芝入社後、どんな業務に関わられたのか教えてください。

1972年4月に入社して半年間研修があり、10月から伝送課という通信関係のセクションに配属になりました。伝送課の伊藤課長に、「東芝の計算機はいつ潰れるか分からないから、力をつけておくように」と言われました。新人が配属された途端に、「ここは潰れるから、勉強しておくように」です。そのお陰で色々と勉強をしましたので、伊藤さんには感謝していますが、当時は本当にビックリしました。

最初の仕事が東大病院で住友電工が作ったデータビーという医療用端末をDN-340という通信制御用計算機(今のNICに相当)に繋ぐというものでした。半年から1年ぐらい常駐していました。ハードのバグがあったときに、どう証拠をとるかということを経験し、すごく勉強になりました。その後、気象庁のデータ収集システムや京浜急行の定期券発行システム、航空天気図を計算機で作ってFAXで送信する統合幕僚本部のシステムなどをやりました。これらの仕事では、どうやって情報をチェックするかということを学び、それが今でも役に立っています。

入社した時に、DN-340のアブソリュート・アセンブラをやりました。今ならアセンブラでもプログラムを書く時、小さいルーチンを作って繋げますけれど、そうではなくて全体を1個のプログラムとして、アセンブルします。全部一緒にやるので1時間ぐらいかかりました。何度もアセンブルすると時間がかかるので、バグのある部分に手でパッチを当てるということをしていました。その作業が大変で、当時は嫌で嫌でしょうがなかったのですが、それが後にSPICEのコード生成に大変役立ちました。 端末から1ビットずつデータが来て、それを組み立てて汎用計算機に渡すという仕事をしていましたので、平木敬先生が通信の速度を測って、「ネットワークを研ぐ」とおっしゃっていますが、通信では、エラーが起きると10倍から100倍遅くなりますから、いかにエラーを起こさないように「研ぐ」か。その感覚が物凄く良く分かります。  

 

ネットワークからアプリケーションへ


―東芝入社時から希望されていたアプリケーションへ移られた後は、どんなことをされたのでしょうか?

アプリケーションへ移った時、大瀬貴宏さんという慶應で助手をされていた方が上司で、自由にやらせてくれました。とはいえ、最初に大瀬さんからIBMのCSMP-Ⅲの互換ソフト(CSPL-6)を作るように言われて、正直なところ、酷いことを言う人だなと思いました。入社して2,3年目の人間に、IBMのマニュアルだけを見て互換ソフトを作るようと言うのですから。

東芝の人間は私ひとりで、あとは外注の方2人で3年のプロジェクトでした。最初の1年半位は仕様書だけ書いていました。辛いなと思っていたのですが、仕様書を書くというのは中を全て分析して書くので、プログラムしているのと殆ど同じです。途中でテスト用のプログラムは作りましたが、1年半かけて仕様書を書いて、いざ本番のプログラムを書き始めたら半年で出来てしまいました。 大瀬さんに最初に言われたときは、なんて無茶なことだと思いましたが、後から考えたら、新人に言う方が辛かったと思います。私が失敗したら責任を取ると考えておられたと思います。後になって振り返ると、計算機ハードやOSの勉強になり、感謝しています。最近知ったのですが、大瀬さんは土居範久先生の同級生だそうです。

そういった過去の経験から、小学校でもプログラミング教育が始まるようですが、お子さんたちにいきなりプログラミングをやらせるのではなくて、まず問題の分析からやらせることが大事だと思っています。

アプリケーションへ移った時に、もう一人、お世話になったのが、平野菅保さんでした。私の師匠とも言える方です。高次の代数方程式の専門家で、平野さんの手伝いで高次の代数方程式を解きましたが、大切なのは、精度以上に指数部の大きさでした。都立大の物理の出身で有隣電気では、池田隼人の所得倍増計画の裏付けの計算を富士通のリレー計算機でされたそうです。その後、日建コンサルタントを経て、東芝に入られました。東芝の後は、日大の生産工学部に行かれました。平野さんは、富士通の池田敏雄さんと仲が良かったそうで、池田さんが、亡くなれた時に奥様から電話があったそうです。

―東芝では本当に色々なことをされましたね。

はい。東芝は半導体、医療機器、原子力もあって、中小企業の集まりのようなものです。それをサポートするのが総合情報システム部という伯父が作った機械計算課の後継の組織です。全て見なければいないので、頼まれると何でもやっていました。 原子力関係もだいぶ手伝いました。福島で事故になった3号機のシュラウドという構造物を入れ替えたことがあり、その計算の手伝いもしました。シュラウドの中性子疲労の計算をしました。サンプルだとメッシュを切るのも簡単ですが、本当の構造物はメッシュを切るのも大変な計算になりました。当時Origin2000を使っていましたが64G Byteをフルに使って、並列化もしないで1週間かけて結果を出しました。並列化していたら、計算時間は速くなったでしょうが、結果が出るまで、半年から1年以上かかったと思います。これで,計算時間よりも、ターンアラウンドタイムが重要だという事を学びました。また、この計算で大規模メモリーの威力を知りました。原子力の担当がその結果をフランスへ持って行き、高く評価してもらうことができました。

それから、鉄道総研から東芝に来られた隈本孝之さんという方と一緒に電車の回生制動の計算もしました。線路の分岐がない大久保から国分寺までのデータを使ってシミュレーションして分かったことは、始発と終電がまずいということでした。それ以外の時間帯は、電車がブレーキをかけると、それを吸収する別の電車が走っているので問題はないのですが、始発、終電は電車があまり走っていませんので、電車がブレーキをかけるとそれを吸収する電車が少なく、変圧器に悪影響が出ます。そのシミュレーション結果を使って、銀座線の変圧器のレイアウトを決めるようなこともしました。隈本さんは凄い方で、シミュレーションを始める前に、結果の概略が分かっておられました。東芝でのぞみのブレーキの設計にも関わられていました。それくらい凄い方と一緒に仕事ができたことで、本当に勉強になりました。

―苦労されたことも多々あるかと思いますが、その中でも一番大変だったことは?

環境的に一番大変だったのは、東芝が電子計算機から撤退し、事業をNECとの合弁会社の日電東芝情報システム(NTIS)に移管し、東芝で計算機をやっていた人間が出向した時でした。1978年4月1日付で、「東芝に戻れると思うな」と言われて出向しました。NTISではNECの製品計画におられた松木顯一さんという方にお世話になりました。松木さんは、大瀬さんの大学の同期と言うこともあり、何かと面倒を見て下さいました。それ以外でも、NECの方には、色々とお世話になりました。そして、1982年1月1日付けで、東芝の総合情報システム部に復帰しました。

東芝は1984年11月23日にCRAY X-MP/22を導入しましたが、技術的に一番苦労したのは、SPICEのベクトル化です。CRAYは情報を出してはくれましたが、コンパイラーグループなどのサポートはなく、全てひとりでやりました。ベクトル化するとスカラー版よりもメモリーが必要ですが、当時のCRAYはメモリーが少なく、ベクトル命令を使って並列化をシミュレートするようなことをして、少しのメモリーの増加ですませました。日立や富士通はメモリーが豊富でしたので、スカラー版の2~3倍メモリーを使っていたようです。X-MPを買った時の私のメインの仕事はSPICEを入れることと、原子力のソフトを入れることでした。また、汎用のアプリケーションでは、GAUSSIAN82、DYNA 2D/3Dも入れました。その他のソフトも200万ステップ以上をインストールしました。入れたというか、「くべた」という感じでした。 すぐにX-MP/22の能力がいっぱいになったので、リクルートのCRAY X-MP/216を半分、借りることにしました。X-MP/216からgather/scatterが入りましたので、すぐSPICEのベクトル化に着手しました。工技院がCRAY X-MP/216を入れた時も、最初に少しお手伝いをしました。

 
 
   

―多くの方とお仕事をされていらっしゃいますが、よく覚えているエピソードなどあれば教えてください。

CRAYにいたクレイトン・カークランドはシーモア・クレイの後輩でI/Oの神様でした。ストライピング・ディスクという、今で言うとRAID0を最初に開発した人です。CRAYの中でも一見気難しそうな方でしたが、たまたま演劇が好きだと聞いて、最初に来日した時、野村万蔵さんの狂言へお連れしました。ご自身でピクルスを漬けられているようで、一緒に行ったトンカツ屋さんで、漬物を美味しい、美味しいと言っていました。それですっかり仲良くなって、GEが作った原子力関係のライブラリーNETLIBという大変なソフトがありましたが、彼に相談をしたら、すぐに直してくれました。その後も困った事が出来て,彼に相談するとすぐに担当者へ繋いでくれ、彼からの紹介だと扱いが良く、すごく助かりました。

平野さんの関係で、富士通の方々にもお世話になりました。山下眞一郎さんには論文の書き方の手ほどきを受けました。その山下さんが日大の理工学部へ移られてアーキテクチャを教えていたのですが、急に倒れられ、私が代講を行い、アーキテクチャの重要性を認識しました。

―ご自身をシーモア・クレイ教徒だとおっしゃいますが、シーモア・クレイが他とは違ったは点は何でしょうか?

私は1984年からシーモア・クレイ教徒ですが、例えばIBMのメインフレームは何人もの人がかかって作っています。ところが、CRAYのインプントはレスター・デイビス達がやっていますが、考えたのはシーモア・クレイたったひとりです。だから、計算機としての筋が通っています。先日、小柳先生からCRAY-1のリファレンスカードを頂きました。CRAY X-MP,CRAY-2のリファレンスカードも持っていますが、これらを見ていると、CRAY- 1とCRAY-2は同じ人物が作っていますが全くの別物です。シーモア・クレイがCRAY-1、CRAY-2を設計するときに、どんなことを考えていたかがすごく良く分かります。今も、常にカバンに入れて持ち歩いています。

シーモア・クレイに会ったことが2回ありました。1度目は1987年秋にアプリケーションシンポジウムがミネアポリスのRadisson Hotel Southであり、午前中、小生がSPICEの高速化の話をし、午後に彼が講演をした時です。2度目は最初のSCの時です。シーモア・クレイが登場すると、アメリカの大学教授クラスも皆直立不動でした。その時のビデオが発売されており、その中に偶然、小生も映っています。

―東芝を退社された後のことを教えてください。

2002年、東芝を退社し、理研の情報センターに4年いました。理研ではITBLプロジェクトでポータルサイトなど、ユーザサポートなどをやっていました。その後は宇宙航空研究開発機構(JAXA)、海洋研究開発機構(JAMSTEC)へ移りましたが、JAMSTECの時は地球シミュレータの後継機の色々なエンドユーザさんをサポートしていました。

東芝の後は、旧科学技術庁のスパコンを持っている研究所ばかりに居ました。 スマホの非接触の充電器のシミュレーションで、毎月メーカーの方と岐阜大学の河瀬順洋先生のところへも通いました。電気屋さんならコイルは捻ると性能が上がることは分かっていましたが、誰も計算していませんでした。誰もやったことがないことをやると、計算自体よりも、別のところで引っ掛かります。計算はだいたい目途が立っていたのですが、メッシュがなかなか切れなくて。メッシュを切るだけで半年かかりました。コイルを捻った時にどんな違いが出るかというのはシミュレーションでは初めて分かったことで、その結果はアメリカでも高く評価してもらいました。

日立におられた浜田穂積さんが、「学位というのは足の裏に付いた米粒だ」とおっしゃっていました。「取っても、取らなくてもいいし、取っても食えないが,取らないと気になる」(浜田さんは関数近似のプロで,URR:Universal Representation of Real numbersの提唱者です。)その通りで、私も55歳の時に学位を取りました。数値微分の誤差解析をやりましたが、良い成果を出せたとは思います。ただ、日本ではオリジナリティがあることをやると、論文さえ読んでくれません。色々なところに出しましたけれど、読んでもらえず苦労しました。

2016年4月からは文部科学省で富岳の半導体とアプリケーションを見ていました。ただ、小生が赴任した時は、ほぼ固まっていたので、小生の意見を反映できなかったのが、残念でした。

―福井さんにとってのスパコンとは?また今後やってみたいことを教えてください。

中村維男先生もおっしゃっていますが、ハードではなくアプリケーションが大事だと思っています。アーキテクチャも大切ですが、コンパイラが大事です。コンパイラがきちんとしないとダメです。どれだけLINPACK性能が良くても、実際のアプリケーション性能がそれ以上に重要です。TOP500は、ショートケーキをショベルカーで食べるようなものですから。

私はシーモア・クレイの信徒で常にシーモア・クレイならどう考えるかということを考えています。シーモア・クレイが今いたら何をするかという発想にこだわっています。例えば、富岳は何台売れると思いますか?民間企業が買わないと数は出ません。その為には、ISVアプリケーションが動くことが大事で、それをやらないといけないと思っています。 今の計算機は、御存知のように実アプリケーションでは実行性能の5%を出すのも大変なので、今後は実行効率が簡単に50%出る計算機、CAE用計算機を作りたいと考えています。CRAY X-MPは、簡単に実行効率を50%出せました。

若い人には、前提(常識)を忘れて,ものを考えていただきたいと思っています。これまでのやり方ではブレークスルーは起こせません。 最後に、今,新型コロナウイルスが蔓延していますが,富岳が少しでも役立ってくれればと考えています。アプリケーションを入れるのに、メモリー容量が障害にならない事を祈ります。  

 

福井義成氏 略歴

1972年 早稲田大学理工学部電気工学科 卒業
1972年 東京芝浦電気株式会社
2002年 理化学研究所
2006年 宇宙航空研究開発機構
2008年 海洋研究開発機構
2016年 文部科学省研究振興局計算科学技術推進室
2020年 同 退職
2007年 総合研究大学院大学 学術博士

写真:小西 史一