2023 Fiscal Year Research-status Report
Development of a Large-Scale Molecular Dynamics Framework and Application to Complex Fluids
Project/Area Number |
21K11923
|
Research Institution | Keio University |
Principal Investigator |
渡辺 宙志 慶應義塾大学, 理工学部(矢上), 准教授 (50377777)
|
Project Period (FY) |
2021-04-01 – 2026-03-31
|
Keywords | 分子動力学法 / SIMDベクトル化 / ドメイン固有言語 / DSL |
Outline of Annual Research Achievements |
短距離古典型のポテンシャルを扱う分子動力学シミュレーションでは、適切なアルゴリズムを用いることにより二体力の計算がホットスポットとなる。現代のCPUアーキテクチャの性能を活かすにはSIMD化が必須であるが、分子動力学シミュレーションのようにループ内でメモリの間接参照を伴う場合はコンパイラによる自動ベクトル化が難しく、プログラマによるベクトル化が必須となる。しかし、ベクトル化で用いるSIMDレジスタはCPU毎に異なり、異なる環境向けに異なるコードを開発する必要がある。この問題を解決するため、分子動力学法向けのドメイン固有言語(Domain Specific Language, DSL)を設計し、DSLからコードを生成するフレームワークの作成を試みている。単純な記述から中間コードに変換し、中間コードにおいて最適化を施すことで最終的なアセンブリを出力することを目的としている。通常、コンパイラは最適化にある程度以上の時間をかけることはできないという制約から、最適化手法は決定論的かつ効果が見込める可能性が高いものしか採用できないが、DSLを経由したコード生成においては、一度生成したコードは何度でも利用できることから最適化に十分時間をかけることができ、かつ効果があるかどうかわからない最適化手法を試すことが可能で、かつアニーリングなどの乱択アルゴリズムの採用もできるというメリットがある。現在はIntel x86向けのコードで検討中であるが、今後はAArch64向けのコードも検討していく。
|
Current Status of Research Progress |
Current Status of Research Progress
3: Progress in research has been slightly delayed.
Reason
Lennard-Jonesポテンシャルなど、広く使われる二体ポテンシャルについて、DSLから中間コードを経てアセンブリを出力するフレームワークを構築し、x86やAArch64などの複数のプラットフォーム向けにコード生成できるようにする予定であったが、まだDSLの設計段階にあり、実用的に利用可能なフレームワークの実装に至っていない。その意味において「やや遅れている」という区分とした。今後は中間コード生成と、中間コード段階での最適化ルーチンの実装、そして中間コードからアセンブリへの出力部分を実装する。
|
Strategy for Future Research Activity |
現在は簡単なDSLからx86アセンブリ(特にAVX2)への変換しか検討していないが、今後はAArch64が採用しているSVEへの適用を目指す。さらに簡単なコードを生成し、結果を実測し、その実行時間をエネルギーとみなして最適化を行うフレームワークへと発展させる。
|
Causes of Carryover |
出張費用が想定よりも安価であったために未使用額が生じた。次年度の旅費として使用予定。
|