2.5. トラブルシューティング¶
本節では \({\mathcal H}\Phi\) の実行中に発生する可能性のあるエラーメッセージとその対処法について説明します。
2.5.1. クイックリファレンス¶
コマンドライン・ファイルエラー
エラーメッセージ |
原因 |
対処法 |
|---|---|---|
|
コマンドライン引数の数が不正 |
|
|
指定したファイルが存在しない |
ファイルパスとファイル名を確認 |
|
入力ファイルを開けない |
ファイルの存在と読み取り権限を確認 |
キーワード・パラメータエラー
エラーメッセージ |
原因 |
対処法 |
|---|---|---|
|
存在しないキーワードを指定 |
マニュアルでサポートされているキーワードを確認 |
|
同じキーワードを2回指定 |
重複したキーワードを1つに統一 |
|
必須キーワードが指定されていない |
必須キーワードを追加 |
モデル・ソルバーエラー
エラーメッセージ |
原因 |
対処法 |
|---|---|---|
|
サポートされていないソルバーを指定 |
Lanczos, TPQ, FullDiag, CG, TimeEvolution のいずれかを指定 |
|
サポートされていないモデルを指定 |
Hubbard, Spin, Kondo, SpinlessFermion のいずれかを指定 |
|
モデルと格子の組み合わせが未サポート |
エキスパートモードを使用するか、サポートされている組み合わせを選択 |
メモリエラー
エラーメッセージ |
原因 |
対処法 |
|---|---|---|
|
メモリ割り当て失敗 |
システムサイズを小さくするか、メモリの大きいマシンを使用 |
|
1プロセスあたりのメモリ不足 |
MPIプロセス数を減らして1プロセスあたりのメモリを増やす |
MPIエラー
エラーメッセージ |
原因 |
対処法 |
|---|---|---|
|
OpenMPとMPIの併用が制限されている |
どちらか一方を使用 |
|
MPIプロセス数が2の冪乗でない |
MPIプロセス数を1, 2, 4, 8, 16などに設定 |
|
MPIプロセス数が不足 |
プロセス数を増やす |
ハミルトニアン検証エラー(カノニカル集団)
以下のエラーはカノニカル集団の計算で、サイト数・電子数・スピンの組み合わせが物理的に実現できない場合に発生します。
エラーメッセージ |
意味 |
|---|---|
|
Szの絶対値がサイト数の半分を超えている |
|
電子数がサイト数の2倍を超えている |
|
電子数とSzのパリティが合わない |
|
電子数に対してSzが大きすぎる |
|
電子数が多い場合にSzが大きすぎる |
|
スピン模型でSzがサイト数の半分を超えている |
|
スピン模型でサイト数とSzのパリティが合わない |
|
近藤模型で電子数がサイト数を超えている |
|
近藤模型で電子数とSzのパリティが合わない |
対処法: 入力パラメータ Nsite, Nelec, 2Sz の値を確認し、物理的に実現可能な組み合わせに修正してください。
警告メッセージ
メッセージ |
説明 |
|---|---|
|
指定したパラメータが現在の計算では使用されない。不要な場合はコメントアウト |
|
デフォルト値が使用されている(エラーではない) |
2.5.2. よくあるエラーの詳細な対処法¶
メモリ不足エラー¶
症状: Malloc ERROR が表示され、計算が開始できない。
原因: ヒルベルト空間の次元が大きすぎて必要なメモリが確保できない。
対処法:
システムサイズを小さくする
サイト数を減らすことで、ヒルベルト空間の次元が指数関数的に小さくなります。
MPIプロセス数を増やす
mpirun -np 16 HPhi ...のようにプロセス数を増やすと、ヒルベルト空間がプロセス間で分割されます。使用可能メモリを確認
CHECK_Memory.datを確認して、必要なメモリ量を把握してください。
MPIプロセス数のエラー¶
症状: ERROR: MPI process count is not a power of 2
原因: \({\mathcal H}\Phi\) ではMPIプロセス数は2の冪乗(1, 2, 4, 8, 16, 32, ...)である必要があります。
対処法:
# 正しい例
mpirun -np 4 HPhi -e namelist.def
mpirun -np 8 HPhi -e namelist.def
mpirun -np 16 HPhi -e namelist.def
# 間違った例(3は2の冪乗ではない)
mpirun -np 3 HPhi -e namelist.def # エラー
ファイルが見つからないエラー¶
症状: Error: The file (ファイル名) does not exist.
対処法:
namelist.def 内のファイル名を確認
相対パスの場合、実行ディレクトリからの相対位置を確認
ファイル名の大文字・小文字を確認(Linux/macOSは大文字・小文字を区別)
収束しない場合¶
症状: Lanczos法やCG法で収束しない。
対処法:
Lanczosステップ数を増やす
ModParaファイルの
LanczosEpsやLanczos_maxを調整初期ベクトルを変更
initial_ivパラメータで異なる乱数シードを試す縮退がある場合
縮退した固有値がある場合、収束が遅くなることがあります