DCPAM ビルドログ @ pifront with intel compiler + HPE MPI

  • 作業日 2021/10/04
  • 作業者 高橋芳幸

DCPAM を π-computer で動かす.

このページは, Intel コンパイラ classic + HPE MPI を用いた場合.

環境

  • π-computer
  • Red Hat Enterprise Linux release 8.2 (Ootpa)
  • Intel コンパイラ Version 2021.1.2 Build 20201208_000000
  • HPE MPI

準備

環境の準備

$ module load compiler
$ module load mpt
$ export LC_CTYPE=C

.bashrc にも書いておく

ライブラリのビルド

必要なファイルの取得

必要なファイル

ビルド

DCPAM

ここでは dcpam5-20170306.tgz を使って説明.

$ wget http://www.gfd-dennou.org/library/dcpam/dcpam5/dcpam5-20170306.tgz
$ tar xvf dcpam5-20170306.tgz

$ cd dcpam5-20170306

$ export FC=mpif90
$ export FFLAGS="-march=core-avx2 -qopenmp -DSLTT2D1DMONOTONIC -DKDONLY"


$ ./configure \
  --with-netcdf=/home/G50002/yot/local/netcdf-c-4.8.0-fortran-4.5.3-intel+hpe/lib/libnetcdf.a \
  --with-netcdff=/home/G50002/yot/local/netcdf-c-4.8.0-fortran-4.5.3-intel+hpe/lib/libnetcdff.a \
  --with-netcdf-include=/home/G50002/yot/local/netcdf-c-4.8.0-fortran-4.5.3-intel+hpe/include/netcdf.inc \
  --with-ispack=/home/G50002/yot/local/ispack-1.0.4-intel+hpe/lib/libisp.a \
  --with-gtool5=/home/G50002/yot/local/gtool5-20160613-intel+hpe/lib/libgtool5.a \
  --with-spml=/home/G50002/yot/local/spml-0.8.0-intel+hpe/lib/libspml-omp.a \
  --enable-mpi

$ make

... だめだ. 下のエラーが出て上手く行かない.

mpif90 -o sltt.o -c -march=core-avx2 -qopenmp -DSLTT2D1DMONOTONIC -DKDONLY -I../../include -I/home/G50002/yot/local/spml-0.8.0-intel+hpe/include -I/home/G50002/yot/local/gtool5-20160613-intel+hpe/include -I/home/G50002/yot/local/netcdf-c-4.8.0-fortran-4.5.3-intel+hpe/include  -DLIB_MPI sltt.F90
ifort: command line warning #10121: overriding '-march=core-avx2' with '-march=core-avx2'
sltt.F90(867): catastrophic error: **Internal compiler error: internal abort** Please report this error along with the circumstances in which it occurred in a Software Problem Report.  Note: File and line given may not be explicit cause of this error.
compilation aborted for sltt.F90 (code 1)
make[2]: *** [../../rules.make:23: sltt.o] Error 1
make[2]: Leaving directory '/home/G50002/yot/work/dcmodel/dcpam/dcpam5-20170306/src/sltt'
make[1]: *** [Makefile:36: lib] Error 1
make[1]: Leaving directory '/home/G50002/yot/work/dcmodel/dcpam/dcpam5-20170306/src'
make: *** [Makefile:52: all] Error 2

困った.

ここから下は昔のコピー.

DCPAM の実行

DCPAM を実行する際は, 以下のようにジョブスクリプトを実行した.

$ qsub ./vizfront_dcpam_script.sh

ジョブスクリプトの中身は以下の通り.

#!/bin/bash

#PBS -N S14001500
##PBS -N serial
##PBS -q uv-test
#PBS -q uv-large
#PBS -o stdout.log
#PBS -e stderr.log
#PBS -l select=1:ncpus=4:mpiprocs=4
##PBS -l select=1:ncpus=1
cd ${PBS_O_WORKDIR}
mpiexec_mpt -np 4 dplace -s1 ./bin/dcpam_main -N=./conf/dcpam_E_T21L26.conf

また, 実行中のジョブを確認する場合は以下のように行った.

$ qstat -a

ジョブスクリプトの中身やその他詳細は pi-VizStudio 利用者マニュアルを参照すること.