diff --git a/etc/bashrc b/etc/bashrc index b862b6a933..08739ebddc 100644 --- a/etc/bashrc +++ b/etc/bashrc @@ -91,7 +91,7 @@ export WM_COMPILER_LIB_ARCH= # WM_JAVAC_OPTION = Opt | Debug : ${WM_JAVAC_OPTION:=Opt}; export WM_JAVAC_OPTION -# WM_MPLIB = | OPENMPI| LAM | MPICH | MPICH-GM | GAMMA | MPI +# WM_MPLIB = | OPENMPI| LAM | MPICH | MPICH-GM | HPMPI | GAMMA | MPI : ${WM_MPLIB:=OPENMPI}; export WM_MPLIB diff --git a/etc/cshrc b/etc/cshrc index b39618f740..082ba77517 100644 --- a/etc/cshrc +++ b/etc/cshrc @@ -89,7 +89,7 @@ if ( ! $?WM_COMPILE_OPTION ) setenv WM_COMPILE_OPTION Opt # WM_JAVAC_OPTION = Opt | Debug if ( ! $?WM_JAVAC_OPTION ) setenv WM_JAVAC_OPTION Opt -# WM_MPLIB = | OPENMPI | LAM | MPICH | MPICH-GM | GAMMA | MPI +# WM_MPLIB = | OPENMPI | LAM | MPICH | MPICH-GM | HPMPI | GAMMA | MPI if ( ! $?WM_MPLIB ) setenv WM_MPLIB OPENMPI diff --git a/etc/settings.csh b/etc/settings.csh index 764fdfe1bf..289faec604 100644 --- a/etc/settings.csh +++ b/etc/settings.csh @@ -175,6 +175,31 @@ case MPICH-GM: setenv FOAM_MPI_LIBBIN $FOAM_LIBBIN/mpich-gm breaksw +case MPICH-GM: + setenv MPI_HOME /opt/hpmpi + setenv MPI_ARCH_PATH $MPI_HOME + setenv MPICH_ROOT=$MPI_ARCH_PATH + + _foamAddPath $MPI_ARCH_PATH/bin + + switch (`uname -m`) + case i686: + _foamAddLib $MPI_ARCH_PATH/lib/linux_ia32 + breaksw + case x86_64: + _foamAddLib $MPI_ARCH_PATH/lib/linux_amd64 + breaksw + case ia64: + _foamAddLib $MPI_ARCH_PATH/lib/linux_ia64 + breaksw + default: + echo Unknown processor type `uname -m` for Linux + breaksw + endsw + + setenv FOAM_MPI_LIBBIN $FOAM_LIBBIN/hpmpi + breaksw + case GAMMA: setenv MPI_ARCH_PATH /usr setenv FOAM_MPI_LIBBIN $FOAM_LIBBIN/gamma diff --git a/etc/settings.sh b/etc/settings.sh index a5d9903ffb..4d054c1131 100644 --- a/etc/settings.sh +++ b/etc/settings.sh @@ -205,6 +205,32 @@ MPICH-GM) export FOAM_MPI_LIBBIN=$FOAM_LIBBIN/mpich-gm ;; +HPMPI) + export MPI_HOME=/opt/hpmpi + export MPI_ARCH_PATH=$MPI_HOME + export MPICH_ROOT=$MPI_ARCH_PATH + + _foamAddPath $MPI_ARCH_PATH/bin + + case `uname -m` in + i686) + _foamAddLib $MPI_ARCH_PATH/lib/linux_ia32 + ;; + + x86_64) + _foamAddLib $MPI_ARCH_PATH/lib/linux_amd64 + ;; + ia64) + _foamAddLib $MPI_ARCH_PATH/lib/linux_ia64 + ;; + *) + echo Unknown processor type `uname -m` for Linux + ;; + esac + + export FOAM_MPI_LIBBIN=$FOAM_LIBBIN/hpmpi + ;; + GAMMA) export MPI_ARCH_PATH=/usr export FOAM_MPI_LIBBIN=$FOAM_LIBBIN/gamma diff --git a/src/Pstream/Allwmake b/src/Pstream/Allwmake index 4398b810f9..3083370ad7 100755 --- a/src/Pstream/Allwmake +++ b/src/Pstream/Allwmake @@ -5,7 +5,7 @@ set -x wmake libso dummy case "$WM_MPLIB" in -LAM | OPENMPI | MPI | MPICH | MPICH-GM | MPIGAMMA ) +LAM | OPENMPI | MPI | MPICH | MPICH-GM | HPMPI | MPIGAMMA ) export WM_OPTIONS=${WM_OPTIONS}$WM_MPLIB set +x echo diff --git a/wmake/rules/linux64Gcc/mplibHPMPI b/wmake/rules/linux64Gcc/mplibHPMPI new file mode 100644 index 0000000000..574492a236 --- /dev/null +++ b/wmake/rules/linux64Gcc/mplibHPMPI @@ -0,0 +1,3 @@ +PFLAGS = +PINC = -I$(MPI_ARCH_PATH)/include -D_MPICC_H +PLIBS = -L$(MPI_ARCH_PATH)/lib/linux_amd64 -lmpi diff --git a/wmake/rules/linux64Gcc42/mplibHPMPI b/wmake/rules/linux64Gcc42/mplibHPMPI new file mode 100644 index 0000000000..574492a236 --- /dev/null +++ b/wmake/rules/linux64Gcc42/mplibHPMPI @@ -0,0 +1,3 @@ +PFLAGS = +PINC = -I$(MPI_ARCH_PATH)/include -D_MPICC_H +PLIBS = -L$(MPI_ARCH_PATH)/lib/linux_amd64 -lmpi diff --git a/wmake/rules/linux64Icc/mplibHPMPI b/wmake/rules/linux64Icc/mplibHPMPI new file mode 100644 index 0000000000..574492a236 --- /dev/null +++ b/wmake/rules/linux64Icc/mplibHPMPI @@ -0,0 +1,3 @@ +PFLAGS = +PINC = -I$(MPI_ARCH_PATH)/include -D_MPICC_H +PLIBS = -L$(MPI_ARCH_PATH)/lib/linux_amd64 -lmpi diff --git a/wmake/rules/linuxGcc/mplibHPMPI b/wmake/rules/linuxGcc/mplibHPMPI new file mode 100644 index 0000000000..8aff40632b --- /dev/null +++ b/wmake/rules/linuxGcc/mplibHPMPI @@ -0,0 +1,3 @@ +PFLAGS = +PINC = -I$(MPI_ARCH_PATH)/include -D_MPICC_H +PLIBS = -L$(MPI_ARCH_PATH)/lib/linux_ia32 -lmpi diff --git a/wmake/rules/linuxGcc42/mplibHPMPI b/wmake/rules/linuxGcc42/mplibHPMPI new file mode 100644 index 0000000000..8aff40632b --- /dev/null +++ b/wmake/rules/linuxGcc42/mplibHPMPI @@ -0,0 +1,3 @@ +PFLAGS = +PINC = -I$(MPI_ARCH_PATH)/include -D_MPICC_H +PLIBS = -L$(MPI_ARCH_PATH)/lib/linux_ia32 -lmpi diff --git a/wmake/rules/linuxIA64Gcc/mplibHPMPI b/wmake/rules/linuxIA64Gcc/mplibHPMPI new file mode 100644 index 0000000000..4e4e54c813 --- /dev/null +++ b/wmake/rules/linuxIA64Gcc/mplibHPMPI @@ -0,0 +1,3 @@ +PFLAGS = +PINC = -I$(MPI_ARCH_PATH)/include -D_MPICC_H +PLIBS = -L$(MPI_ARCH_PATH)/lib/linux_ia64 -lmpi diff --git a/wmake/rules/linuxIA64Icc/mplibHPMPI b/wmake/rules/linuxIA64Icc/mplibHPMPI new file mode 100644 index 0000000000..4e4e54c813 --- /dev/null +++ b/wmake/rules/linuxIA64Icc/mplibHPMPI @@ -0,0 +1,3 @@ +PFLAGS = +PINC = -I$(MPI_ARCH_PATH)/include -D_MPICC_H +PLIBS = -L$(MPI_ARCH_PATH)/lib/linux_ia64 -lmpi diff --git a/wmake/rules/linuxIcc/mplibHPMPI b/wmake/rules/linuxIcc/mplibHPMPI new file mode 100644 index 0000000000..8aff40632b --- /dev/null +++ b/wmake/rules/linuxIcc/mplibHPMPI @@ -0,0 +1,3 @@ +PFLAGS = +PINC = -I$(MPI_ARCH_PATH)/include -D_MPICC_H +PLIBS = -L$(MPI_ARCH_PATH)/lib/linux_ia32 -lmpi