WindowsでOpenTHFDをそのまま実行するときはビルド作業(コンパイル・リンク)は不要ですが、
ソースコードを修正してビルドするには、
開発環境をインストールしたのち以下を行ってください。
コマンドラインでの開発環境については[17]を参考にしてください。
Windows+VC++環境ではコマンドプロンプトを起動してOpenTHFDフォルダに移動した後、
以下のコマンドを実行してください。
> cd sol
> nmake.exe clean
> nmake.exe CPU版計算プログラム(oth.exe)が作成されます
> cd ..\post
> nmake.exe clean
> nmake.exe ポスト処理プログラム(oth_post.exe)が作成されます
> cd ..\mpi
> nmake.exe clean
> nmake.exe MPI対応CPU版計算プログラム(oth_mpi.exe)が作成されます
> cd ..\cuda
> nmake.exe clean
> nmake.exe GPU版計算プログラム(oth_cuda.exe)が作成されます
> cd ..\cuda_mpi
> nmake.exe clean
> nmake.exe MPI対応GPU版計算プログラム(oth_cuda_mpi.exe)が作成されます
> cd ..
Linux+gcc環境ではコマンドラインでOpenTHFDフォルダに移動した後、
以下のコマンドを実行して下さい。
$ cd sol
$ mv Makefile_gcc Makefile
$ make clean
$ make CPU版計算プログラム(oth)が作成されます
$ cd ../post
$ mv Makefile_gcc Makefile
$ make clean
$ make ポスト処理プログラム(oth_post)が作成されます
$ cd ../mpi
$ mv Makefile_mpicc Makefile
$ make clean
$ make MPI対応CPU版計算プログラム(oth_mpi)が作成されます
$ cd ../cuda
$ mv Makefile_linux Makefile
$ make clean
$ make GPU版計算プログラム(oth_cuda)が作成されます
$ cd ../cuda_mpi
$ mv Makefile_linux Makefile
$ make clean
$ make MPI対応GPU版計算プログラム(oth_cuda_mpi)が作成されます
$ cd ..
プログラムの構成(ソースコードの依存関係)は図4-5-1のようになっています。
sol/を変更したときはmpi/,cuda/,cuda_mpi/,post/もmake(再コンパイル)してください。
mpi/を変更したときはcuda_mpi/もmakeしてください。
cuda/を変更したときはcuda_mpi/もmakeしてください。
図4-5-1 プログラム構成
NECスパコン(NEC SX-Aurora TSUBASA)と富士通スパコン(Fujitsu Supercomputer PRIMEHPC または 富岳)では、
Makefileの各マクロを下記のように修正してビルドしてください。
マクロ | GCC | NECスパコン | 富士通スパコン (clangモード) |
---|---|---|---|
CC | gcc | ncc | fcc |
OMPOPT | -fopenmp | -fopenmp | -fopenmp |
CFLAGS | -Ofast -I../include | -O2 -I../include | -Nclang -Ofast -I../include |
LDFLAGS | -Ofast -fopenmp | -O2 -fopenmp | -fopenmp |
LIBS | -lm | なし | -Nlibomp |
定義されるマクロ | __GNUC__ | __NEC__ | __CLANG_FUJITSU |
(参考)強制ベクトル化 | なし | #pragma _NEC ivdep | #pragma clang loop vectorize(assume_safety) |