現在位置: ホーム ソフトウェア開発・高度化プロジェクト

ソフトウェア開発・高度化プロジェクト

プロジェクト概要

  • 目的
  •  東京大学物性研究所では、物性研究所共同利用スーパーコンピュータ(以下、物性研スパコン)の利用促進を目指し、2015年4月からソフトウェア開発・高度化のプロジェクトを開始しました。 ソフトウェア開発・高度化プロジェクトでは、並列計算の高度化・複雑化に対応するため、物性研究分野で特に重要であり、物性研スパコン上での利用が見込まれるプログラムを対象に、その開発または高度化を行います。 利用者がより簡便に高度な並列計算を実施できる環境を整備することで、新規現象の予測や実験結果との検証などを迅速に可能とする、ユーザビリティの高い計算機資源の提供を行なっていきたいと考えています。 
     
  • プロジェクトの流れ
  •  対象とするプログラムは、毎年物性研究所の公募により募集を行い、共同利用委員会による審査の上、選定します。選定されたプロジェクトは、下記プロジェクト体制のもと、約1年の期間を通しソフトウェアの開発・高度化を行います。高度化支援では開発だけではなく、付随するドキュメントの整備や普及支援(物性研スパコンへのインストールやウェブページへの掲載など)、物性研スパコンでのテスト計算実施なども行います。実際に高度化した内容はソフトウェア高度化推進チームのWebページ等で順次成果報告していく予定です。
      
  • 成果物の取り扱い
  •  プロジェクトで高度化されたソフトウェアはオープンソースソフトウェアとして公開することを基本としています。そのため成果物は物性研スパコンに留まらず様々な計算機資源で利用可能であり、本プロジェクトを通した物性物理コミュニティ全体への発展の寄与が期待されます。なお、本プロジェクトを通して開発された新規機能・箇所については、プロジェクト成果物として東京大学が著作権を所持します。
      
  • プロジェクトの成果発表(論文執筆)について
  •  本プロジェクトで新規開発した箇所については、ソフトウェア開発・高度化チームが中心となり論文を執筆する予定です。なお、提案者・協力者の方々の合意が得られた場合には、ソフトウェア全般に関する論文執筆を共同で行うことを検討しています。
      
  • クレジットに関して
  •  本プロジェクトで新規開発した箇所に関連した研究発表を提案者・研究協力者が行う場合、ソフトウェア開発・高度化チームに関する謝辞を追記願います。 和文:本ソフトウェアのyyyyはxxxx年度 東京大学物性研究所 ソフトウェア開発・高度化プロジェクトの支援を受け開発されました。 (yyyyは機能 or ソフトウェアのバージョン番号、 xxxxはソフトウェア開発・高度化プロジェクトの年度) 英文:yyyy is developed under the support of "Project for advancement of software usability in materials science" in fiscal year xxxx by The Institute for Solid State Physics, The University of Tokyo.
     

    ドキュメントアクション

    メンバー

    ソフトウェア開発・高度化プロジェクトは以下の体制で行われています。
    • メインメンバー
    1. 吉見 一慶 (プロジェクトマネージャー、デベロッパー)
    2. 河村 光晶 (デベロッパー)
    • コーディネーター
    1. 物性研スタッフ (1プロジェクトあたり1名)
    • 提案者・協力者

    ドキュメントアクション

    公募情報

    ここでは、公募の流れや公募時に寄せられたFAQなどの情報を記載しています。

    公募の流れ


    ソフトウェア開発・高度化プロジェクトの公募は以下の流れで行っています。
    • 11月初旬:物性研スパコンユーザーおよび計算物性物理メイリングリストなどにソフトウェアの公募のアナウンスを行います。
    • 12月初旬:公募締切。
    • 1月中旬:書類審査結果の連絡。
    • 1月下旬:ヒアリング審査。

    高度化したい/してもらいたいソフトウェアがありましたら、ぜひご応募ください。

    ref. ) 過去の公募ニュース

     

    FAQ


    公募にあたり寄せられたお問い合わせの回答を記載します。応募時にご参照ください。
    1. 作業日数の目安はどの程度を考えればよいのか?
       ソフトウェア高度化では、開発以外にも携わったソフトウェアの普及活動等も順次実施する予定です。開発に対する作業については、1プロジェクトあたり5人月(1人がフルで稼働して5ヶ月)程度を目安に内容の検討をしていただければと思います。
    2. 開発にあたり、提案者・協力者はどの程度の協力を想定すればよいのか?
       本プロジェクトは、提案に対して物性研が主体的に実施するプロジェクトとなっております。 協力いただく内容に関しては、情報提供および仕様の決定を主に想定しており、具体的な開発等に関しては、物性研スタッフが主体となり進めることを予定しています。
    3. プロジェクトではどの程度の打合せを予定しているのか?
       具体的な作業およびスケジュールを決定するため、最初の1ヶ月程度は密接に打合せを開催する予定です(週1度程度)。それ以降は進捗報告がメインとなり、プロジェクトが安定するまでは隔週で約30-60分程度の打合せ、プロジェクト安定後は月1度程度の打合せを予定しています。集中共同作業が効果的と判断の上、提案者・協力者の合意が得られた場合には、ソフトウェア高度化メンバーが訪問の上集中作業をする場合もあります。
    4. 打合せでは物性研訪問が必須なのか?
        打合せは物性研での開催を基本としていますが、TV会議システムやSkypeを利用し参加いただくことも可能です。
    5. ソフトウェア高度化プロジェクト完了後にもサポートはあるのか?
       プロジェクトで追加した機能のお問い合わせやバグの対応に関しましては、引き続き対応をする予定です。 ただし、新規ソフトウェア対応と並行してプロジェクトを進める関係上、プロジェクト終了後一年以内を対応期限の目安にしていただければと思います。
    6. 提案者側のメリットは?
      - ソフトウェア公開作業
       ソフトウェア開発・高度化プロジェクトでは、ユーザビリティの向上を基軸に、マニュアルやインターフェイス、機能の整備・追加など行います。これらは、研究とは直接関係ない箇所も多くかつ労力も大きいため、ソフトウェアの公開に向けての大きな障壁となります。 本プロジェクトを通し、これらの作業に関する支援を受けることができます。 特に、プロジェクトメンバーには、ユーザビリティに関する知見および公開のノウハウが蓄積されており、公開にあたってユーザーのニーズを反映させたソフトウェアの開発・整備および円滑な公開・普及支援作業(MateriAppsの掲載、 メーリングリストの作成、システムBへのプリインストール、ISSPでの講習会支援など)が行われます。
      - ソフトウェア開発作業
       数値ライブラリなど新規にプログラム設計・開発を行う場合には、提案者が設計の段階から参加し、テストの段階からユーザとして携われるというメリットがあります。また、ソフトウェアを公開するにあたっては、共同開発者としてのクレジットがつくという点も挙げられます。
      - 研究会でのソフトウェアの宣伝
       開発・公開されたソフトウェアについては、日本物理学会や各種研究会で発表をし、ソフトウェアの宣伝を行っています。これらの発表を通しユーザーと意見交換することで、ソフトウェアを活用した共同研究へと発展した事例もあります。
      - 代表論文の執筆
       新規リリースするソフトウェアについては、提案者・協力者の方々の合意が得られた場合には、共同でソフトウェアに関する論文の執筆を行っています。これにより、ソフトウェアを活用した研究の増加や、それに伴うコミュニティ形成の加速が期待されます。 

    ドキュメントアクション

    採択ソフトウェア一覧

    採択された高度化ソフトウェアおよび実施された内容に関して記載しています。
    • 2017年度 (pdf)
    1. 動的平均場近似に基づく第一原理計算パッケージの高度化
      提案者:品岡寛 (埼玉大学 理学部)
    2. 理論・実験・データ科学の融合を目指した量子格子模型シミュレータの開発
      提案者:山地洋平 (東京大学大学院 工学系研究科)
       
    • 2016年度 (pdf)
    1. シフト型クリロフ理論を中核とした物性計算むけ大行列数理ソルバー
      提案者:星健夫 (鳥取大学 大学院工学研究科)
      内容:Shifted-Krylov部分空間法に基づくソルバー・ライブラリの開発。HΦへの光学伝導度機能の実装。
      公開URL:https://github.com/issp-center-dev/Komega/releases
    2. 汎用多変数変分モンテカルロ法の整備・公開
      提案者:三澤貴宏 (東京大学物性研究所 計算物質科学研究センター)
      内容:ソフトウェア公開に向けたブラッシュアップ(インターフェイス整備、機能追加、ドキュメント整備等)。
      公開URL:https://github.com/issp-center-dev/mVMC/releases
     
    • 2015年度 (pdf)
    1. 第一原理電子状態計算ソフトウエア OpenMXの高度化
      提案者:尾崎泰助 (東京大学 物性研究所 計算物質科学研究センター)
      内容:固有チャネル解析機能、実空間電流解析機能の新規実装。
      公開URL:http://www.openmx-square.org/
    2. 高並列汎用量子格子模型ソルバー・パッケージの整備・公開
      提案者:山地洋平 (東京大学大学院 工学系研究科附属 量子相エレクトロニクス研究センター)
      内容:ソフトウェア公開に向けたブラッシュアップ(インターフェイス整備、機能追加、ドキュメント整備等)、ハイブリッド並列対応。
      公開URL:http://ma.cms-initiative.jp/ja/listapps/hphi/hphi

    ドキュメントアクション

    システムBでの利用

    プリインストール済みの高度化ソフトウェアについて


    高度化されたソフトウェアはシステムBにプリインストールされており、

    すぐに利用することが出来ます (2017/01/01現在、下記のソフトウェアがシステムBにプリインストール済み)。

    ソフトウェア名をクリックすると、システムBでの利用方法が記載されたページに移動します。

    • HPhi - 汎用量子格子模型厳密対角化および熱力学的純粋量子状態を用いた有限温度計算のためのプログラムパッケージ
    •  - Shifted-Krylov部分空間法に基づくソルバーライブラリ
    • mVMC - 汎用量子格子模型のための多変数変分モンテカルロ法計算プログラム
    • OpenMX - 局在基底を用いる第一原理計算プログラム
     
      

    システムBでの利用率測定について


    東京大学物性研究所では、物性研究所共同利用スーパーコンピュータ(以下、物性研スパコン)利用促進のため、2015年4月からソフトウェア開発・高度化のプロジェクトを開始しています。本プロジェクトでは、プロジェクトの意義を評価するため、プロジェクトで開発・高度化されたソフトウェアを対象に、物性研スパコン システムB上での利用数を測定しています。利用測定についてはユーザーが選択可能な形式をとっており、非測定という形式をとることもできますが、ソフトウェアの普及促進という観点からも、ぜひご協力いただければと思います。以下、詳細を記載します。

    1. 測定対象
      • ソフトウェア開発・高度化プロジェクトに採用されたソフトウェア
    HPhi, OpenMX , mVMC (2016/11/21現在)
    1. 測定する項目
      • ユーザーID (ただし、難読化しており個人情報は見えない状態にしています)
      • 並列数 (プロセス数、スレッド数)
      • 利用したソフトウェア名
    2. 測定方法
      • プリインストールされたソフトウェアを使用する場合  
         本プロジェクトで採用されたソフトウェアは物性研スパコン システムBにプリインストールされます。インストール済みアプリケーションに記載されているソフトウェアを選択の上、記載されている手順に従い実行することで自動的に測定されます。
      • プリインストールされたソフトウェアを使用しない場合
         自分の環境でビルドされたソフトウェアを使用される場合には、実行時に 
         /home/issp/materiapps/tool/bin/issp-ucount softwarename
        を呼び出すことで、利用率を測定することができます(softwarenameにソフトウェアの名称を入れます)。たとえば、HPhiの場合には
        /home/issp/materiapps/tool/bin/issp-ucount HPhi
        mpijob ./HPhi -e namelist.def
        のようにプログラムを実行する前に一文を入れていただくことで、測定が行われます。   
    3. その他
       ソフトウェアの測定データについては、共同利用研究会やアクティビティレポートなどで随時公開する予定です。その他、 質問等ありましたら「お問い合わせ」よりご連絡ください。

    ドキュメントアクション

    応募文例

    2017年度 ソフトウェア開発・高度化プロジェクト課題の採択者である 埼玉大学品岡寛先生の許諾のもと、提案内容部分の文例を記載しています。 応募時の参考にしてください。 なお、各作業に対する優先度・作業日数の見積もりですが、提案者の方が作業する時間の2倍程度と考えると妥当な場合が多いです(第三者に実際の作業と見積もった時間の説明を行うと、より精度の高い見積が可能となります)。

    提案内容の文例

     - (イ)プログラムの主な計算対象

    遷移金属元素や希土類元素を含む、強相関電子系化合物の有限温度状態を計算する。

    特に、強いスピン軌道相互作用を持つ化合物への対応を特色にしている。

     

    - (ロ)物性科学上の重要性

    密度汎関数理論(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日] 

     

    (参考) テスト作業の目安ですが、実装と同程度の日数が現実的な日数となる場合が多いです。

    また、作業日数はトータルで1人×100日(5ヶ月)以内を目安にしてください。

      

    - (へ) 各実装作業にあたり協力可能な作業

    提案者はMPI並列化にあたってのコード説明、マニュアル作成、インターフェースの設計について協力可能である。また、将来的な機能拡張を意識したインターフェースの設計およびテストモデル、コードの実装に関しては、研究協力者も含めた協力を行う。

    ドキュメントアクション

    ドキュメントアクション