バージョン 1.19 に変更した後、Omnipath 実装を使用すると、次のエラーがランダムに表示されます: ERROR calling: gasnet_barrier_try(id, 0)
.
現在のバージョンの Chapel では、GASNet の Omnipath 実装がサポートされていないことを知っています。ただし、バージョン でのみ利用可能ないくつかの機能を使用したいと考えており、1.19
使用するクラスターは Omnipath ネットワーク上で実行されます。
PSM
サブストレート (OmniPath)を使用するには、Chapel の Gitter コミュニティの提案に従って進めます。
export CHPL_GASNET_ALLOW_BAD_SUBSTRATE=true
wget https://gasnet.lbl.gov/download/GASNet-1.32.0.tar.gz
tar xzf GASNet-1.32.0.tar.gz
rm -rf $CHPL_HOME/third-party/gasnet/gasnet-src
mv GASNet-1.32.0 $CHPL_HOME/third-party/gasnet/gasnet-src
次に、他の変数をセットアップします。
export CHPL_COMM='gasnet'
export CHPL_LAUNCHER='gasnetrun_psm'
export CHPL_COMM_SUBSTRATE='psm'
export CHPL_GASNET_SEGMENT='everything'
export CHPL_TARGET_CPU='native'
export GASNET_PSM_SPAWNER='ssh'
export HFI_NO_CPUAFFINITY=1
次に、ランタイムなどをビルドします。
ただし、実験を実行すると、次のエラーがランダムに表示されます。
ERROR calling: gasnet_barrier_try(id, 0)
at: comm-gasnet.c:1020
error: GASNET_ERR_BARRIER_MISMATCH (Barrier id's mismatched)
プログラムの実行を終了します。
GASNet のドキュメントで、このエラーの理由を見つけることができません。GASNet のコードに関する情報はほんの少ししか見つかりませんでした。
この問題の原因は何か分かりますか?
皆さん、ありがとうございました。