Repository navigation
[ 日本語 / Eng ]
HPhi v3.7.1 は、テストスイートを修正するパッチリリースです。Slurm の srun のように、MPI でビルドしたバイナリをランチャー経由でしか起動できない計算機でも、make test / ctest が正しく実行できるようにしました。HPhi 本体のソースコード(src/)は版数以外 v3.7.0 から変更していないため、計算結果は v3.7.0 と同じです。
ダウンロードする場合は、GitHub が自動生成する "Source code" ではなく HPhi-3.7.1.tar.gz を利用してください。こちらには依存パッケージの StdFace と PDF マニュアルが同梱されています。
SHA256:
eb702c941eb74b594f8bb138b890042017d751c0865437f67908b5409be6991d HPhi-3.7.1.tar.gz
インストール方法:
tar xzvf HPhi-3.7.1.tar.gz
mkdir HPhi.build && cd HPhi.build
cmake ../HPhi-3.7.1/
cmake --build .主な変更
いずれも #299 によるものです。
- テストスクリプトがシリアル実行する HPhi の呼び出し(
-s/-sdry/-e)すべてに${MPIRUNFC}を前置しました。v3.7.0 では FullDiag 系の一部のテストだけがこの規約に従っていたため、ランチャーが必要な環境では多数のテストが Failed になっていました。MPIRUNFCを指定しない場合の動作は変わりません。 - MPI 並列数の事前判定に
pow:N(並列数が N のべき乗のときだけ実行)を追加しました。spin-1 のテストlobcg_spinone_chain_threebodyは、並列数が 3 のべき乗でない場合に Failed ではなく Skipped になります。 mpi_consistency_te_hubbardgc_twobodyを 4 並列のときだけ実行するように修正しました(16 並列では Skipped になります)。- 並列数判定の回帰テスト
precheck_modesを追加しました。HPhi も MPI も起動しないテストで、並列数によらず実行されます。 - CI の 3 並列・9 並列のジョブで
mpi_consistency_threebody_generalspinも実行するようにしました。 - マニュアルの MPI 並列化の節に、
MPIRUNFCと spin-1 テストの並列数の条件を追記しました。
ランチャーが必要な環境でのテスト実行例
make test "MPIRUN=srun -n 4" "MPIRUNFC=srun -n 1"
make test "MPIRUN=srun -n 16" "MPIRUNFC=srun -n 1"
MPIRUN="srun -n 3" MPIRUNFC="srun -n 1" ctest -R "spinone|threebody_generalspin"
MPIRUN="srun -n 9" MPIRUNFC="srun -n 1" ctest -R "spinone|threebody_generalspin"spin-1 の MPI テストは 3 並列・9 並列など 3 のべき乗の並列数でしか実行されないため、4 並列・16 並列で全体を実行すると Skipped になります。3 並列・9 並列では、上のように spin-1 のテストに絞って実行してください。
[ 日本語 / Eng ]
HPhi v3.7.1 is a patch release that fixes the test suite. make test / ctest now work on systems where an MPI-linked binary can be started only through a launcher such as Slurm srun. The HPhi source code (src/) is unchanged from v3.7.0 except for the version number, so computational results are identical to v3.7.0.
Please download HPhi-3.7.1.tar.gz instead of the automatically generated "Source code" archives. The release asset bundles the StdFace dependency and PDF manuals.
SHA256:
eb702c941eb74b594f8bb138b890042017d751c0865437f67908b5409be6991d HPhi-3.7.1.tar.gz
Installation:
tar xzvf HPhi-3.7.1.tar.gz
mkdir HPhi.build && cd HPhi.build
cmake ../HPhi-3.7.1/
cmake --build .Main changes
All changes come from #299.
- Every serial HPhi invocation in the test scripts (
-s,-sdry,-e) is now prefixed with${MPIRUNFC}. In v3.7.0 only some FullDiag tests followed this convention, so many tests failed on systems that require a launcher. The behaviour is unchanged whenMPIRUNFCis not set. - Added the
pow:Nmode to the MPI rank precheck, which runs a test only when the number of ranks is a power of N. The spin-1 testlobcg_spinone_chain_threebodyis now reported as Skipped instead of Failed when the number of ranks is not a power of 3. mpi_consistency_te_hubbardgc_twobodynow runs only with exactly 4 ranks (Skipped with 16 ranks).- Added
precheck_modes, a regression test for the rank precheck. It launches neither HPhi nor MPI and runs for any number of ranks. - The 3- and 9-rank CI jobs now also run
mpi_consistency_threebody_generalspin. - Documented
MPIRUNFCand the rank conditions of the spin-1 tests in the MPI parallelization section of the manual.
Running the tests on systems that require a launcher
make test "MPIRUN=srun -n 4" "MPIRUNFC=srun -n 1"
make test "MPIRUN=srun -n 16" "MPIRUNFC=srun -n 1"
MPIRUN="srun -n 3" MPIRUNFC="srun -n 1" ctest -R "spinone|threebody_generalspin"
MPIRUN="srun -n 9" MPIRUNFC="srun -n 1" ctest -R "spinone|threebody_generalspin"The MPI tests for spin-1 models run only with a power-of-3 number of ranks, such as 3 or 9, so they are skipped in full-suite runs with 4 or 16 ranks. For 3 and 9 ranks, select the spin-1 tests as shown above.
AI assistance: Claude Code for hotfix implementation and initial release preparation; OpenAI Codex for review, the release-date update, and release verification.