ソフトウェア開発・高度化プロジェクト課題の採択者である埼玉大学 品岡 寛先生(2017年度)、東京大学 藤堂 眞治先生(2020年度)の許諾のもと、提案内容部分の文例を記載しています。応募時の参考にしてください。 なお、各作業に対する優先度・作業日数の見積もりですが、提案者の方が作業する時間の2倍程度と考えると妥当な場合が多いです(第三者に実際の作業と見積もった時間の説明を行うと、より精度の高い見積が可能となります)。 テスト作業の目安については、実装と同程度の日数が現実的な日数となる場合が多いです。 また、作業日数はトータルで1人×100日(5ヶ月)以内を目安にしてください。
提案内容の文例 (1) 動的平均場近似に基づく第一原理計算パッケージの高度化
(イ)プログラムの主な計算対象
遷移金属元素や希土類元素を含む、強相関電子系化合物の有限温度状態を計算する。特に、強いスピン軌道相互作用を持つ化合物への対応を特色にしている。
(ロ)物性科学上の重要性
密度汎関数理論(DFT)に基づく第一原理計算は、物性科学の研究において不可欠なツールである。近年、動的平均場理論(DMFT)と組み合わせることで電子相関効果を取り込む拡張法 (DFT+DMFT法)が発展し、強相関電子系化合物にその適用範囲が広がっている。特に、強いスピン軌道相互作用を持つ化合物の研究が近年盛んになる中、実験と理論の定量的比較への需要が高まっている。その一方、スピン軌道相互作用を持つ物質のDFT+DMFT計算が可能なフリーソフトウェアは本ソフトウェア以外存在していない。本高度化プロジェクトを通し、並列化の実装による界面系などへの適用範囲の拡張、およびユーザビリティの向上を行うことで、実験・理論を含む幅広いユーザーへの貢献が期待される。
(ハ) 計算に用いられる方法・原理
本プログラムは、バンド計算プログラムで最局在ワニア関数を使って求めたホッピングパラメータ等のモデルパラメータを受け取る。そのモデルに対して、DMFTに基づいた自己無撞着計算を行う。入力形式としては一般的なWannier90形式を採用しており、国内外の主要なバンド計算プログラムに対応している (OpenMX, Quantum ESPRESSO, Wien2k, VASP等)。また、自己無撞着計算の後、解析接続により (波数依存)スペクトル関数を計算可能である。将来的な機能拡張としては、動的感受率の計算機能実装を検討している。
(ニ) 実施期間中に実施体制下で行う具体的な高度化の内容
界面系など単位胞に多数の原子を含む系では、自己無撞着計算部分にかかる計算量は無視できないが、現行コードでは自己無撞着計算部分 (図中のpyDMFT) が並列化されていない。本プロジェクトを通し、並列化機能を実装することで、これらの系に適用可能なプログラムへと拡張する。さらに、pyDMFTではユーザーマニュアルが欠けており、ユーザーが使用するには敷居が高い。また、現状コードは研究用に開発したプログラムであり、幅広いユーザーが利用するにユーザーインターフェースの向上が必須である。以上の観点から、本プロジェクトでは、(1) 並列化、(2) ユーザーインターフェースの整備およびドキュメント化を行いたい。
(ホ) 各作業に対する優先度・作業日数の見積もり(単位あたり一人で換算)
優先順位は以下の通り。
(1) 自己無撞着計算における波数積分のMPI並列化[総計:作業日数1人×20人日)
内訳:コード理解 [2人×3日]、設計[1人×2日]、実装[1人×8日]、テスト[1人×4日]
(2) ユーザーインターフェースの整備とドキュメント化[総計:作業日数1人×70人日]
内訳:インターフェースの設計・整備 [2 人×15 日]、マニュアル作成[2人×15日]、サンプル作成・整備[2人×5日]
(へ) 各実装作業にあたり協力可能な作業
提案者はMPI並列化にあたってのコード説明、マニュアル作成、インターフェースの設計について協力可能である。また、将来的な機能拡張を意識したインターフェースの設計およびテストモデル、コードの実装に関しては、研究協力者も含めた協力を行う。
提案内容の文例 (2) MateriApps Installer – オープンソースソフトウェアインストールツール
国内外において、計算物質科学シミュレーションのための、高性能・高精度な手法・ソフト ウェアが数多く開発・公開されている。 しかしながら、そのような公開ソフトウェアを試そうとしたとき、ソフトウェアのインストールそのものが大きな障害となることが多い。 各人のPC の上で試す環境として、我々は MateriApps LIVE!の開発・公開を行ってきた。 MateriApps LIVE!では、様々な物質科学アプリケーション、OS (Debian GNU/Linux)、エディタ、可視化 ツールなど、シミュレーションを始めるのに必要な環境は全て 1 本の USB メモリに収められており、講習会や講義などでも活用が進んでいる。 MateriApps LIVE!を用いたローカル PC での試用計算の次の段階として、研究室の PC クラスター、物性研などの共同利用スパコン、HPCI システム、富岳へと順次、シミュレーションの大規模化を進めていくことになるが、その各段階でソフトウェアのインストール作業が必要となる。 これらの共用のスパコンでは、各システム毎に CPU アーキテクチャや OS、システムソフトウェア、ライブラリなどの環境が大きく異なるため、あらかじめソフトウェアのバイナリパッケージを用意しておくことは現実的ではない。 そのため、我々は、バイナリパッケージではなく、様々な環境に対応したインストールスクリプト集 MateriApps Installer の開発・公開を進めてきた。
(イ、ハ) プログラムの主な計算対象、計算に用いられる方法・原理
MateriApps Installer 自体はインストールツールであり、何らかの特定の対象に対してシミュレーションを実行するものではないが、 MateriApps Installer が対象とするソフトウェアのカテゴリは、密度汎関数電子状態計算から量子化学計算、分子動力学、強相関系・有効模型計算、可視化・モデリング、データ解析・補助ツールまで、全分野にわたる。 また、対象とする計算機アーキテクチャ、OS は macOS、Linux (GNU コンパイラ、Intel コンパイラ)、富岳などである。
(ロ) 物性科学上の重要性
研究者個人のノートPC から、富岳にいたるまで、同じバージョンの同じソフトウェアが利用できるようなシームレスな環境を実現することにより、シミュレーションの大規模化・高精 度化への障害が取り除かれ、計算物質科学分野全体の研究がより加速されると期待される。 また、利用する計算機を選ぶ際に、ソフトウェアがインストールされているか(インストールできるか)を考慮する必要がなくなるため、必要な計算能力に応じた最適な計算機の選択が可能となり、計算機資源全体の利用効率も大幅に改善される。 これまでの物性研高度化プロジェクトで採択されている HΦ、mVMC、DSQSS、DCore、OpenMX などについては、すでに対応済みであるが、本プロジェクトにより、今後も継続的なサポートを行うことが容易となる。
(ニ、ホ) 具体的な高度化の内容、優先度・作業日数の見積もり(単位あたり一人で換算)
1) マニュアル整備 [総計:作業日数 1 人×20 人日] 利用者用マニュアル(macOS、Linux、富岳)の整備を行う。また、開発者向けにソフトウェア追加手順書を整備する。
2) MateriApps LIVE!との連携強化 [総計:作業日数 1 人×20 人日] MateriApps LIVE! にインストールされているソフトウェアとのバージョンの整合性を確保する仕組みを構築する。基本部分を共通化し、半自動で整合性が取れるように機能拡張を行う
3) 2020 年度に導入予定の物性研スパコン新システムへのインストール作業の実施 [総計:作業日数 1 人×10 人日]
4) ソフトウェア間の依存関係を考慮する仕組みの導入 [総計:作業日数 1 人×20 人日]
5) CI ツールを導入し、スクリプトのテストを自動的に行う [総計:作業日数 1 人×10 人日]
6) その他 [総計:作業日数 1 人×10 人日] HPC 向けパッケージマネージャーSpack 用スクリプト生成機能や、Singularity などのコンテナの自動生成機能についての検討
(ヘ) 各実装作業にあたり協力可能な作業
ソースコードリポジトリを共有して実装作業を進める。 富岳他へのインストールは、提案者・協力者がアカウントを取得し、テストを進める。 実装方法や技術的問題などについて、定期的に情報交換を行い、必要に応じて修正しつつ協力して開発を進める。