spml ビルドログ @ pifront
- 作業日 2021/10/07
- 作業者 高橋芳幸
準備
必要なファイルの取得
必要なファイル
- spmodel
http://www.gfd-dennou.org/library/spmodel/spml-0.8.0.tar.gz ver. 0.8.0
ビルド
spml
ビルドは, ~/tmp/spml 以下で行う.
$ tar xvf spml-0.8.0.tar.gz $ cd spml-0.8.0
佐々木さんに調べてもらって, configure を更新する必要があるらしいのでまずそこから.
$ autoreconf -fi
pifront では autoreconf が使えなかったので, 他の PC で実行してソースを移動.
$ export FC=mpiifort $ export FCFLAGS="-march=core-avx2 -qopenmp -align array64byte"
-align array64byte を付けないと, make test で segmentation fault が出る.
$ ./configure \ --with-ispack=/home/G50002/yot/local/ispack-1.0.4-intel+intel/lib/libisp.a \ --with-netcdf=/home/G50002/yot/local/netcdf-c-4.8.0-fortran-4.5.3-intel+intel/lib/libnetcdf.a \ --with-netcdff=/home/G50002/yot/local/netcdf-c-4.8.0-fortran-4.5.3-intel+intel/lib/libnetcdff.a \ --with-gtool5=/home/G50002/yot/local/gtool5-20160613-intel+intel/lib/libgtool5.a \ --prefix=/home/G50002/yot/local/spml-0.8.0-intel+intel \ --with-mpifc=/opt/intel/oneapi/mpi/2021.1.1/bin/mpiifort \ --with-mpiexec=/opt/intel/oneapi/mpi/2021.1.1/bin/mpirun $ make $ make test
精度不足のエラーと, テストプログラムの名前が悪いエラーが出る.
- 下については, 精度不足のため, test/Makefile の中の SUBDIRS から該当モジュールを消す. (本当は許容誤差を大きくするのが正しそう.)
- wtq_module_sjpack
- wtq_mpi_module_sjpack
- 下については, プログラム名を *_test に変更する.
- test/w_module_sjpack/w_interpolate_module_sjpack_test.f90
- test/w_mpi_module_sjpack/w_integral_mpi_module_sjpack_test.f90
- test/wa_module_sjpack/wa_interpolate_module_sjpack_test.f90
- test/wa_mpi_module_sjpack/wa_integral_mpi_module_test_sjpack.f90
その上で
$ make test
インストール
$ make install