SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

イベントレポート(AD)

優勝は誰の手に?スパコンの威力を社会課題の解決に活かす「NECスパコン・プログラミングコンテスト」最終審査

  • このエントリーをはてなブックマークに追加

Fortranの表現力向上と開発効率向上を支えるSX-Aurora TSUBASA

 最後に登壇したのは出川智啓氏。応募プログラムのタイトルは「izumi-Fortranの表現力向上と開発効率向上,それを支えるSX-Aurora TSUBASA」だ。

 Fortranにどんなイメージを持っているか。多くの人は「古めかしい言語」と思っているのではないだろうか。確かにFortranはいまどきの開発者に好まれるプログラム言語でも、プログラミング環境でもない。だからこそ、出川氏は「このプログラミングコンテストを通じて、Fortranの状況を改善しようと考えました」と言う。

出川智啓氏
出川智啓氏

 Fortranの課題はいまどきのプログラミング言語や環境と遜色のない、表現力と開発効率を有すること。つまり表現力向上と開発効率の向上である。表現力とは数式や自然言語に近い記述でプログラミングできること。出川氏はそれを実行する仕組みとして「izumi」を作成。また開発効率の向上については、Fortranのコミュニティが立ち上がっており、そこで作成されたエコシステムと組み合わせることで達成することにしたという。だが、表現力を向上させようとすると、複雑な処理が必要になる。Fortranの特長は高速な数値計算ができること。そこで「SX-Aurora TSUBASAを用いて数値計算でも有効に利用できることを確認することにしました」(出川氏)

 作成したizumiの評価をするために流体シミュレーションに適用してみたという。それを表したのが次の図の式だ。

適用問題
適用問題

 Fractional Step法による計算式をizumiで記述すると次のようになる。青色の部分がizumiによって定義した演算子で、緑色の部分がizumiによって定義された方を使った変数である。この中で毛色が異なるのは2番目の式、連立方程式を解くというもの。「ある基準を満たすまで、共役勾配法でポアソン方程式を解くという記述にしました」と出川氏は説明する。

izumiによる記述
izumiによる記述

 この開発にあたっては、「次の4種類のコミュニティ製モダンエコシステムを活用した」と出川氏。それが「Fortran Package Manager(FPM:プロジェクト管理、ビルド、依存関係解決)」「Fortran Standard Library(標準ライブラリ)」「VTKFortran(VTK形式のファイル出力ライブラリ)」「FORD(APIドキュメント自動生成スクリプト)」である。

 このプログラムの性能をSX-Aurora TSUBASAとXeonで測定したところ、Xenonで3459秒かかっていたものが、SX-Aurora TSUBASAを使うと126秒、27分の1に短縮できたという。「ここで強調したいのはプログラムの変更はまったくしていないこと」と出川氏。

 この成果は、Fortranの再活性化を後押しし、市場の拡大と潜在顧客の増加に貢献できる可能性がある。例えばシミュレーションで物理現象を研究している学生や若手研究者、シミュレーションのフレームワークを開発している研究グループ、ソルバーを内製している企業のアーキテクトやテックリードなどがターゲットになるのではと出川氏は言う。

 Fortranはこれまで水槽の中に英知をたくさん溜めてきたが、それを水槽の外に湧き出すことができなかった。「今回のプログラミングコンテストがその英知を泉から湧き出す一つのきっかけとなり、その湧き出した英知が社会問題を解決してくれると信じています」最後にこう語り、出川氏は発表を締めた。

 質疑応答では、NECの浅田氏から「研究者がターゲットになるのではという話もありましたが、研究者がメインとする業務は研究です。どこまで研究者が踏み込んで、このようなシステムを扱っていくのか。そのバランスをどう考えて運用すべきでしょうか」という質問が投げかけられた。出川氏は「研究者がやりたいのはあくまでもシミュレーションで、プログラミングではありません。利便性向上のために時間を割くことは問題なので、考えていく必要があります。今は乱数生成などいろいろなアルゴリズムもあり、FPMと組み合わせることで外部との連携もより簡単にできるようになるので、ぜひ試してほしいです」と回答した。

次のページ
最終結果発表!優勝は誰の手に

関連リンク

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
イベントレポート連載記事一覧

もっと読む

この記事の著者

中村 仁美(ナカムラ ヒトミ)

 大阪府出身。教育大学卒。大学時代は臨床心理学を専攻。大手化学メーカー、日経BP社、ITに特化したコンテンツサービス&プロモーション会社を経て、2002年、フリーランス編集&ライターとして独立。現在はIT、キャリアというテーマを中心に活動中。IT記者会所属。趣味は読書、ドライブ、城探訪(日本の城)。...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

丸毛 透(マルモ トオル)

インタビュー(人物)、ポートレート、商品撮影、料理写真をWeb雑誌中心に活動。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/17539 2023/03/29 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング