研究課題/領域番号 |
21K11923
|
研究種目 |
基盤研究(C)
|
配分区分 | 基金 |
応募区分 | 一般 |
審査区分 |
小区分60100:計算科学関連
|
研究機関 | 慶應義塾大学 |
研究代表者 |
渡辺 宙志 慶應義塾大学, 理工学部(矢上), 准教授 (50377777)
|
研究期間 (年度) |
2021-04-01 – 2026-03-31
|
研究課題ステータス |
交付 (2023年度)
|
配分額 *注記 |
3,770千円 (直接経費: 2,900千円、間接経費: 870千円)
2025年度: 650千円 (直接経費: 500千円、間接経費: 150千円)
2024年度: 650千円 (直接経費: 500千円、間接経費: 150千円)
2023年度: 910千円 (直接経費: 700千円、間接経費: 210千円)
2022年度: 650千円 (直接経費: 500千円、間接経費: 150千円)
2021年度: 910千円 (直接経費: 700千円、間接経費: 210千円)
|
キーワード | 分子動力学法 / SIMDベクトル化 / ドメイン固有言語 / DSL / 領域分割 / ロードインバランス / 並列化 / ロードバランシング / 計算物理 / 複雑流体 / ハイパフォーマンス・コンピューティング / コード自動生成 |
研究開始時の研究の概要 |
「富岳」に代表されるように、我が国では大規模な計算資源を保有している一方、その計算能力を十全に活かすには高度な計算機科学の知識が要求され、計算科学との両立が困難であるという背景があった。本研究は、特に大規模分子動力学法に向けたフレームワークを構築することで、数値計算を実行する研究者が自分でコードを開発する環境を提供し、計算機科学と計算科学の分断を緩和しようとするものである。特に、並列計算機を扱うにあたって通信部分と計算部分の密結合を分離することで、研究者が本質的なプログラミングに集中し、研究成果へとつなげることを期待する。具体的な応用例として、高分子や気液混相流への適用を目指す。
|
研究実績の概要 |
短距離古典型のポテンシャルを扱う分子動力学シミュレーションでは、適切なアルゴリズムを用いることにより二体力の計算がホットスポットとなる。現代のCPUアーキテクチャの性能を活かすにはSIMD化が必須であるが、分子動力学シミュレーションのようにループ内でメモリの間接参照を伴う場合はコンパイラによる自動ベクトル化が難しく、プログラマによるベクトル化が必須となる。しかし、ベクトル化で用いるSIMDレジスタはCPU毎に異なり、異なる環境向けに異なるコードを開発する必要がある。この問題を解決するため、分子動力学法向けのドメイン固有言語(Domain Specific Language, DSL)を設計し、DSLからコードを生成するフレームワークの作成を試みている。単純な記述から中間コードに変換し、中間コードにおいて最適化を施すことで最終的なアセンブリを出力することを目的としている。通常、コンパイラは最適化にある程度以上の時間をかけることはできないという制約から、最適化手法は決定論的かつ効果が見込める可能性が高いものしか採用できないが、DSLを経由したコード生成においては、一度生成したコードは何度でも利用できることから最適化に十分時間をかけることができ、かつ効果があるかどうかわからない最適化手法を試すことが可能で、かつアニーリングなどの乱択アルゴリズムの採用もできるというメリットがある。現在はIntel x86向けのコードで検討中であるが、今後はAArch64向けのコードも検討していく。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
3: やや遅れている
理由
Lennard-Jonesポテンシャルなど、広く使われる二体ポテンシャルについて、DSLから中間コードを経てアセンブリを出力するフレームワークを構築し、x86やAArch64などの複数のプラットフォーム向けにコード生成できるようにする予定であったが、まだDSLの設計段階にあり、実用的に利用可能なフレームワークの実装に至っていない。その意味において「やや遅れている」という区分とした。今後は中間コード生成と、中間コード段階での最適化ルーチンの実装、そして中間コードからアセンブリへの出力部分を実装する。
|
今後の研究の推進方策 |
現在は簡単なDSLからx86アセンブリ(特にAVX2)への変換しか検討していないが、今後はAArch64が採用しているSVEへの適用を目指す。さらに簡単なコードを生成し、結果を実測し、その実行時間をエネルギーとみなして最適化を行うフレームワークへと発展させる。
|