MUST - t-sakashita/rokko GitHub Wiki
MUST(MPI Runtime Error Detection Tool)
インストール@phi
PnMPIのインストール
cmake -D CMAKE_INSTALL_PREFIX=$HOME/install -D CMAKE_C_COMPILER=mpicc -D CMAKE_CXX_COMPILER=mpicxx -D CMAKE_BUILD_TYPE=Debug ..
CC=icc CXX=icpc FC=ifort cmake -D CMAKE_INSTALL_PREFIX=$HOME/install -D MPI_C_COMPILER=mpicc -D MPI_CXX_COMPILER=mpicxx -D MPI_Fortran_COMPILER=mpif90 -D CMAKE_BUILD_TYPE=Debug ..
make
make install
GTIのインストール@phi
export PnMPI_HOME=$HOME/install
以下を追加し、extern "C"を阻止しないと、コンパイルエラー
#define _EXTERN_C_
export GTI_HOME=$HOME/install
CC=mpicc CXX=mpicxx FC=mpif90 cmake -D CMAKE_INSTALL_PREFIX=$HOME/install -D CMAKE_BUILD_TYPE=Release - DPnMPI_INSTALL_PREFIX=$HOME/install ..
make
make install
export PATH=$PATH:$HOME/install
MUSTのインストール
CC=mpicc CXX=mpicxx FC=mpif90 cmake -D CMAKE_INSTALL_PREFIX=$HOME/install -D CMAKE_BUILD_TYPE=Release -DPnMPI_INSTALL_PREFIX=$HOME/install ..
make
make install
インストール@MacBook
CC=gcc CXX=g++ FC=gfortran cmake -D CMAKE_INSTALL_PREFIX=$HOME/install -D MPI_C_COMPILER=mpicc -D MPI_CXX_COMPILER=mpicxx -D MPI_Fortran_COMPILER=mpif90 -D CMAKE_BUILD_TYPE=Debug ..
cd /Users/sakashitatatsuya/Downloads/pnmpi/build_saka/modules/datatype && /opt/local/bin/mpicc - DDBGLEVEL=0 -Ddtprint_EXPORTS -g -fPIC -I/Users/sakashitatatsuya/Downloads/pnmpi/src - I/Users/sakashitatatsuya/Downloads/pnmpi/build_saka/src -I/opt/local/include/mpich-gcc48 -o CMakeFiles/dtprint.dir/dtprint.c.o -c /Users/sakashitatatsuya/Downloads/pnmpi/modules/datatype/dtprint.c
/Users/sakashitatatsuya/Downloads/pnmpi/modules/datatype/dtprint.c:105:5: error: conflicting types for 'MPI_Isend' int MPI_Isend(void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, ^ In file included from /Users/sakashitatatsuya/Downloads/pnmpi/modules/datatype/dtprint.c:37:0: /opt/local/include/mpich-gcc48/mpi.h:855:5: note: previous declaration of 'MPI_Isend' was here int MPI_Isend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, ^ /Users/sakashitatatsuya/Downloads/pnmpi/modules/datatype/dtprint.c:146:5: error: conflicting types for 'MPI_Send' int MPI_Send(void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm) ^ In file included from /Users/sakashitatatsuya/Downloads/pnmpi/modules/datatype/dtprint.c:37:0: /opt/local/include/mpich-gcc48/mpi.h:842:5: note: previous declaration of 'MPI_Send' was here int MPI_Send(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, ^ make[2]: *** [modules/datatype/CMakeFiles/dtprint.dir/dtprint.c.o] Error 1 make[1]: *** [modules/datatype/CMakeFiles/dtprint.dir/all] Error 2 make: *** [all] Error 2 zsh: exit 2 make VERBOSE=1
mpiccをmpicxxにして、この部分だけ手でコマンド実行
[@no-MacBook-Air build_saka]$ cd /Users/sakashitatatsuya/Downloads/pnmpi/build_saka/modules/datatype && /opt/local/bin/mpicxx -DDBGLEVEL=0 -Ddtprint_EXPORTS -g -fPIC -I/Users/sakashitatatsuya/Downloads/pnmpi/src -I/Users/sakashitatatsuya/Downloads/pnmpi/build_saka/src -I/opt/local/include/mpich-gcc48 -o CMakeFiles/dtprint.dir/dtprint.c.o -c /Users/sakashitatatsuya/Downloads/pnmpi/modules/datatype/dtprint.c
[@sakashita-no-MacBook-Air build_saka]$ cd /Users/sakashitatatsuya/Downloads/pnmpi/build_saka/modules/sample && /opt/local/bin/mpicxx -DDBGLEVEL=0 -Dsample1_non_patched_EXPORTS -g -fPIC -I/Users/sakashitatatsuya/Downloads/pnmpi/src -I/Users/sakashitatatsuya/Downloads/pnmpi/build_saka/src -I/opt/local/include/mpich-gcc48 -o CMakeFiles/sample1-non-patched.dir/sample1.c.o -c /Users/sakashitatatsuya/Downloads/pnmpi/modules/sample/sample1.c