Skip to content

HPhi v3.6.0

Choose a tag to compare

@tmisawa tmisawa released this 17 Jun 08:06
· 92 commits to master since this release
e136a35

[ 日本語 / Eng ]

ダウンロードする場合は、"Source code" ではなく HPhi-3.6.0.tar.gz を利用してください。
こちらには依存パッケージ (StdFace) が同梱されています。

SHA256:

9ac1f4eeca4561b2b7ce3bf5061112cbd3dd74e25d72d7f3534325a924d0b512  HPhi-3.6.0.tar.gz

インストール方法

$ tar xzvf HPhi-3.6.0.tar.gz
$ mkdir HPhi.build && cd HPhi.build
$ cmake ../HPhi-3.6.0/
$ make

プログラムの簡易紹介

README.md を参照してください。

機能追加

  • スピンレスフェルミオン模型 (SpinlessFermion / SpinlessFermionGC) の追加と MPI 通信のバッチ化による高速化(既定 ON、HPHI_MPI_NOBATCH=1 で無効化) PR216
  • t-J / t-JGC 模型サポートの develop への統合 PR220
  • 非対角動的グリーン関数 G_BA(z) = <φ|B†(z−H)⁻¹A|φ> の計算をサポート(SingleExcitationBra / PairExcitationBra による bra 演算子指定) PR221
  • OutputDataHead オプションの追加(TPQ/TE 出力ファイル名に CDataFileHead を前置) PR217
  • 大規模系向け Sz 保存ヒルベルト空間構築の OpenMP 並列化 (omp_sz_hacker_ForLargeSystems) PR205
  • 一般スピンに対する 3 体相互作用 (three-body) のサポート PR164
  • Sz 非保存計算の取り扱いの拡張 (Mod sz) PR159
  • cTPQ 計算の逆温度データ読み込み (Read invetmp2) PR207

バグ修正

  • 2 体グリーン関数の出力の不具合を修正 PR200
  • MPI + カノニカル + Sz/N が変化する励起計算でのメモリ不足 (out-of-memory) を修正 PR190
  • t-J 模型グランドカノニカル計算の不具合を修正 PR219
  • SpinlessFermion の CalcHS=0 での状態数え上げの不具合を修正、対角スピンレス TE を入力検証で拒否 PR223
  • Lanczos_max が小さい場合の TE/TPQ 進捗表示でのゼロ除算(未定義動作)を修正 PR224
  • HubbardGC の MPI batching で一部の InterAll 項が無警告で落ちる不具合を修正 PR233
  • 一般スピン 3 体 Green 関数の MPI 経路でエルミート共役項が二重加算される不具合を修正 PR234
  • SpinlessFermion の diagonal InterAll が Hamiltonian から脱落する不具合を修正 PR235
  • Spin 模型の CalcHS=-1 で状態数え上げが失敗する回帰を修正 PR236
  • ThreeBodyG / canonical Spin の多体 Green 関数 / 内部 CalcModel 指定の入力検証を追加 PR237
  • cTPQ の InvTemp 入力検証を強化し、空・不完全行・restart 併用・MPI 失敗時の異常終了を明示エラー化 PR238
  • エルミート性チェック手続きの修正 PR161

その他

  • StdFace を v1.0 に更新 PR173
  • CI 環境・GitHub Actions の更新 PR162, PR212, PR218
  • 北海道大学スパコン向け cmake 設定の追加 PR213
  • Spinless バッチ統計の表示と batched/NOBATCH 等価性テストの追加 PR222
  • MPI バッチ化のデフォルト挙動のドキュメント追加 PR226
  • README の更新 PR160

既知の制限

  • 非対角動的グリーン関数 (#221): スピンレスフェルミオンの非対角成分、および bra 演算子指定時の BiCG restart は未対応(入力検証で拒否される)。
  • 真空セクター (nelec=0) での CalcByLanczos は segfault する(v3.5.2 以前から存在する既知の不具合)。
  • Lanczos が Lanczos_max 以内に収束しない場合、MPI_Abort で終了し CalcTimer は出力されない。


[ 日本語 / Eng ]

Please download HPhi-3.6.0.tar.gz instead of "Source code".
It bundles the dependent package (StdFace).

SHA256:

9ac1f4eeca4561b2b7ce3bf5061112cbd3dd74e25d72d7f3534325a924d0b512  HPhi-3.6.0.tar.gz

How to install

$ tar xzvf HPhi-3.6.0.tar.gz
$ mkdir HPhi.build && cd HPhi.build
$ cmake ../HPhi-3.6.0/
$ make

Brief Introduction

See README.md.

New Features

  • Add the spinless fermion models (SpinlessFermion / SpinlessFermionGC) with batched MPI communication for acceleration (enabled by default; set HPHI_MPI_NOBATCH=1 to disable) PR216
  • Integrate t-J / t-JGC model support into develop PR220
  • Support off-diagonal dynamical Green functions G_BA(z) = <φ|B†(z−H)⁻¹A|φ> via bra operators (SingleExcitationBra / PairExcitationBra) PR221
  • Add the OutputDataHead option to prefix TPQ/TE output filenames with CDataFileHead PR217
  • Add OpenMP-parallelized Sz-conserved Hilbert space construction for large systems (omp_sz_hacker_ForLargeSystems) PR205
  • Support three-body interactions for general spin PR164
  • Extend treatment of Sz-unconserved calculations (Mod sz) PR159
  • Read inverse-temperature data for cTPQ calculations (Read invetmp2) PR207

Bug Fixes

  • Fix a bug in the output of two-body Green functions PR200
  • Fix out-of-memory in MPI + canonical + Sz/N-changing excitation calculations PR190
  • Fix a bug in grand canonical calculations of the t-J model PR219
  • Fix SpinlessFermion CalcHS=0 state enumeration and reject diagonal spinless time evolution at input validation PR223
  • Fix modulo-by-zero (undefined behavior) in TE/TPQ progress printout for small Lanczos_max PR224
  • Fix silently dropped HubbardGC InterAll terms in the MPI batching path PR233
  • Fix double-counted Hermitian-conjugate terms in the MPI general-spin three-body Green-function path PR234
  • Fix dropped diagonal InterAll contributions for SpinlessFermion models PR235
  • Fix a Spin CalcHS=-1 basis-enumeration regression PR236
  • Add validation guards for ThreeBodyG, canonical Spin N-body Green functions, and reserved internal CalcModel values PR237
  • Harden cTPQ InvTemp input validation for empty files, malformed rows, restart combinations, and MPI allocation failures PR238
  • Modify the Hermiticity check procedure PR161

Others

  • Update submodule StdFace to v1.0 PR173
  • Update CI environments and GitHub Actions PR162, PR212, PR218
  • Add a cmake config for the Hokkaido University supercomputer PR213
  • Print Spinless batching statistics and add batched-vs-NOBATCH equivalence tests PR222
  • Document the default MPI batching behavior PR226
  • Update README.md PR160

Known Limitations

  • Off-diagonal dynamical Green functions (#221): off-diagonal components for spinless fermions and BiCG restart with bra operators are not supported (rejected at input validation).
  • CalcByLanczos segfaults for the vacuum sector (nelec=0) - a pre-existing bug from before v3.5.2.
  • If Lanczos does not converge within Lanczos_max, the run aborts via MPI_Abort and CalcTimer is not printed.