mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: enable MPI library variants (#1153)
- in addition to managing different vendors and versions, it may also
be necessary or desirable to have a particular variant
(eg, profiling, release, etc).
Devise a new meaningful name for the variant and create a
corresponding wmake rule.
Eg, SYSTEMOPENMPI-profiling with a corresponding
"wmake/rules/linux64Gcc/mplibSYSTEMOPENMPI-profiling" file
that has suitable content for your system.
CONFIG: intel-mpi use intel64/ paths only for config and wmake rules (#1153)
- previously adjusted the config files, but missed the changes
required for the wmake rules too.
Now simply migrate to using "intel64/{include,bin,lib}"
instead of the older naming "{include,bin,lib}64"
These changes work since at least intel-mpi 2015 (5.x), but possibly
earlier as well
This commit is contained in:
@ -1,2 +1,2 @@
|
|||||||
api=1812
|
api=1812
|
||||||
patch=190123
|
patch=190129
|
||||||
|
|||||||
@ -93,6 +93,7 @@ export WM_COMPILE_OPTION=Opt
|
|||||||
# [WM_MPLIB] - MPI implementation:
|
# [WM_MPLIB] - MPI implementation:
|
||||||
# = SYSTEMOPENMPI | OPENMPI | SYSTEMMPI | MPI | MPICH | MPICH-GM |
|
# = SYSTEMOPENMPI | OPENMPI | SYSTEMMPI | MPI | MPICH | MPICH-GM |
|
||||||
# HPMPI | CRAY-MPICH | FJMPI | QSMPI | SGIMPI | INTELMPI | USERMPI
|
# HPMPI | CRAY-MPICH | FJMPI | QSMPI | SGIMPI | INTELMPI | USERMPI
|
||||||
|
# Also possible to use INTELMPI-xyz etc and define your own wmake rule
|
||||||
export WM_MPLIB=SYSTEMOPENMPI
|
export WM_MPLIB=SYSTEMOPENMPI
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -33,7 +33,7 @@ unsetenv MPI_ARCH_PATH MPI_HOME
|
|||||||
setenv FOAM_MPI dummy # Fallback value
|
setenv FOAM_MPI dummy # Fallback value
|
||||||
|
|
||||||
switch ("$WM_MPLIB")
|
switch ("$WM_MPLIB")
|
||||||
case SYSTEMOPENMPI:
|
case SYSTEMOPENMPI*:
|
||||||
# The system installed openmpi, locations discovery via mpicc.
|
# The system installed openmpi, locations discovery via mpicc.
|
||||||
setenv FOAM_MPI openmpi-system
|
setenv FOAM_MPI openmpi-system
|
||||||
_foamEtc -config openmpi-system # <- Adjustments (optional)
|
_foamEtc -config openmpi-system # <- Adjustments (optional)
|
||||||
@ -52,7 +52,7 @@ case SYSTEMOPENMPI:
|
|||||||
endif
|
endif
|
||||||
breaksw
|
breaksw
|
||||||
|
|
||||||
case OPENMPI:
|
case OPENMPI*:
|
||||||
setenv FOAM_MPI openmpi-1.10.4
|
setenv FOAM_MPI openmpi-1.10.4
|
||||||
_foamEtc -config openmpi # <- Adjustments (optional)
|
_foamEtc -config openmpi # <- Adjustments (optional)
|
||||||
|
|
||||||
@ -243,7 +243,7 @@ case SGIMPI:
|
|||||||
_foamAddLib $MPI_ARCH_PATH/lib
|
_foamAddLib $MPI_ARCH_PATH/lib
|
||||||
breaksw
|
breaksw
|
||||||
|
|
||||||
case INTELMPI:
|
case INTELMPI*:
|
||||||
if ( $?I_MPI_ROOT ) then
|
if ( $?I_MPI_ROOT ) then
|
||||||
# I_MPI_ROOT: The Intel MPI Library installation directory
|
# I_MPI_ROOT: The Intel MPI Library installation directory
|
||||||
|
|
||||||
@ -300,14 +300,8 @@ case INTELMPI:
|
|||||||
echo " Currently using '$MPI_ARCH_PATH'"
|
echo " Currently using '$MPI_ARCH_PATH'"
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Newer versions (5.0.3 or earlier?) with intel64/bin ...
|
_foamAddPath "$MPI_ARCH_PATH/intel64/bin"
|
||||||
if ( -d "$MPI_ARCH_PATH/intel64/bin" ) then
|
_foamAddLib "$MPI_ARCH_PATH/intel64/lib"
|
||||||
_foamAddPath "$MPI_ARCH_PATH/intel64/bin"
|
|
||||||
_foamAddLib "$MPI_ARCH_PATH/intel64/lib"
|
|
||||||
else
|
|
||||||
_foamAddPath "$MPI_ARCH_PATH/bin64"
|
|
||||||
_foamAddLib "$MPI_ARCH_PATH/lib64"
|
|
||||||
endif
|
|
||||||
breaksw
|
breaksw
|
||||||
endsw
|
endsw
|
||||||
|
|
||||||
|
|||||||
@ -33,7 +33,7 @@ unset MPI_ARCH_PATH MPI_HOME
|
|||||||
export FOAM_MPI=dummy # Fallback value
|
export FOAM_MPI=dummy # Fallback value
|
||||||
|
|
||||||
case "$WM_MPLIB" in
|
case "$WM_MPLIB" in
|
||||||
SYSTEMOPENMPI)
|
SYSTEMOPENMPI*)
|
||||||
# The system installed openmpi, locations discovery via mpicc.
|
# The system installed openmpi, locations discovery via mpicc.
|
||||||
export FOAM_MPI=openmpi-system
|
export FOAM_MPI=openmpi-system
|
||||||
|
|
||||||
@ -58,7 +58,7 @@ SYSTEMOPENMPI)
|
|||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
OPENMPI)
|
OPENMPI*)
|
||||||
export FOAM_MPI=openmpi-1.10.4
|
export FOAM_MPI=openmpi-1.10.4
|
||||||
_foamEtc -config openmpi # <- Adjustments (optional)
|
_foamEtc -config openmpi # <- Adjustments (optional)
|
||||||
|
|
||||||
@ -261,7 +261,7 @@ SGIMPI)
|
|||||||
_foamAddLib $MPI_ARCH_PATH/lib
|
_foamAddLib $MPI_ARCH_PATH/lib
|
||||||
;;
|
;;
|
||||||
|
|
||||||
INTELMPI)
|
INTELMPI*)
|
||||||
if [ -n "$I_MPI_ROOT" ]
|
if [ -n "$I_MPI_ROOT" ]
|
||||||
then
|
then
|
||||||
# I_MPI_ROOT: The Intel MPI Library installation directory
|
# I_MPI_ROOT: The Intel MPI Library installation directory
|
||||||
@ -303,15 +303,8 @@ INTELMPI)
|
|||||||
|
|
||||||
export FOAM_MPI MPI_ARCH_PATH
|
export FOAM_MPI MPI_ARCH_PATH
|
||||||
|
|
||||||
# Newer versions (5.0.3 or earlier?) with intel64/bin ...
|
_foamAddPath "$MPI_ARCH_PATH/intel64/bin"
|
||||||
if [ -d "$MPI_ARCH_PATH/intel64/bin" ]
|
_foamAddLib "$MPI_ARCH_PATH/intel64/lib"
|
||||||
then
|
|
||||||
_foamAddPath "$MPI_ARCH_PATH/intel64/bin"
|
|
||||||
_foamAddLib "$MPI_ARCH_PATH/intel64/lib"
|
|
||||||
else
|
|
||||||
_foamAddPath "$MPI_ARCH_PATH/bin64"
|
|
||||||
_foamAddLib "$MPI_ARCH_PATH/lib64"
|
|
||||||
fi
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|||||||
@ -95,6 +95,7 @@ setenv WM_COMPILE_OPTION Opt
|
|||||||
# [WM_MPLIB] - MPI implementation:
|
# [WM_MPLIB] - MPI implementation:
|
||||||
# = SYSTEMOPENMPI | OPENMPI | SYSTEMMPI | MPI | MPICH | MPICH-GM |
|
# = SYSTEMOPENMPI | OPENMPI | SYSTEMMPI | MPI | MPICH | MPICH-GM |
|
||||||
# HPMPI | CRAY-MPICH | FJMPI | QSMPI | SGIMPI | INTELMPI | USERMPI
|
# HPMPI | CRAY-MPICH | FJMPI | QSMPI | SGIMPI | INTELMPI | USERMPI
|
||||||
|
# Also possible to use INTELMPI-xyz etc and define your own wmake rule
|
||||||
setenv WM_MPLIB SYSTEMOPENMPI
|
setenv WM_MPLIB SYSTEMOPENMPI
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1,3 +1,3 @@
|
|||||||
PFLAGS = -DMPICH_SKIP_MPICXX
|
PFLAGS = -DMPICH_SKIP_MPICXX
|
||||||
PINC = -isystem $(MPI_ARCH_PATH)/include64
|
PINC = -isystem $(MPI_ARCH_PATH)/intel64/include
|
||||||
PLIBS = -L$(MPI_ARCH_PATH)/lib64 -lmpi
|
PLIBS = -L$(MPI_ARCH_PATH)/intel64/lib -lmpi
|
||||||
|
|||||||
@ -1,3 +1,3 @@
|
|||||||
PFLAGS = -DMPICH_SKIP_MPICXX
|
PFLAGS = -DMPICH_SKIP_MPICXX
|
||||||
PINC = -isystem $(MPI_ARCH_PATH)/include64
|
PINC = -isystem $(MPI_ARCH_PATH)/intel64/include
|
||||||
PLIBS = -L$(MPI_ARCH_PATH)/lib64 -lmpi
|
PLIBS = -L$(MPI_ARCH_PATH)/intel64/lib -lmpi
|
||||||
|
|||||||
@ -1,3 +1,3 @@
|
|||||||
PFLAGS = -DMPICH_SKIP_MPICXX
|
PFLAGS = -DMPICH_SKIP_MPICXX
|
||||||
PINC = -isystem $(MPI_ARCH_PATH)/include64
|
PINC = -isystem $(MPI_ARCH_PATH)/intel64/include
|
||||||
PLIBS = -L$(MPI_ARCH_PATH)/lib64 -lmpi
|
PLIBS = -L$(MPI_ARCH_PATH)/intel64/lib -lmpi
|
||||||
|
|||||||
@ -1,3 +1,3 @@
|
|||||||
PFLAGS = -DMPICH_SKIP_MPICXX
|
PFLAGS = -DMPICH_SKIP_MPICXX
|
||||||
PINC = -isystem $(MPI_ARCH_PATH)/include64
|
PINC = -isystem $(MPI_ARCH_PATH)/intel64/include
|
||||||
PLIBS = -L$(MPI_ARCH_PATH)/lib64 -lmpi
|
PLIBS = -L$(MPI_ARCH_PATH)/intel64/lib -lmpi
|
||||||
|
|||||||
@ -1,3 +1,3 @@
|
|||||||
PFLAGS = -DMPICH_SKIP_MPICXX
|
PFLAGS = -DMPICH_SKIP_MPICXX
|
||||||
PINC = -isystem $(MPI_ARCH_PATH)/include64
|
PINC = -isystem $(MPI_ARCH_PATH)/intel64/include
|
||||||
PLIBS = -L$(MPI_ARCH_PATH)/lib64 -lmpi
|
PLIBS = -L$(MPI_ARCH_PATH)/intel64/lib -lmpi
|
||||||
|
|||||||
@ -1,3 +1,3 @@
|
|||||||
PFLAGS = -DMPICH_SKIP_MPICXX
|
PFLAGS = -DMPICH_SKIP_MPICXX
|
||||||
PINC = -isystem $(MPI_ARCH_PATH)/include64
|
PINC = -isystem $(MPI_ARCH_PATH)/intel64/include
|
||||||
PLIBS = -L$(MPI_ARCH_PATH)/lib64 -lmpi
|
PLIBS = -L$(MPI_ARCH_PATH)/intel64/lib -lmpi
|
||||||
|
|||||||
@ -1,3 +1,3 @@
|
|||||||
PFLAGS = -DMPICH_SKIP_MPICXX
|
PFLAGS = -DMPICH_SKIP_MPICXX
|
||||||
PINC = -isystem $(MPI_ARCH_PATH)/include64
|
PINC = -isystem $(MPI_ARCH_PATH)/intel64/include
|
||||||
PLIBS = -L$(MPI_ARCH_PATH)/lib64 -lmpi
|
PLIBS = -L$(MPI_ARCH_PATH)/intel64/lib -lmpi
|
||||||
|
|||||||
Reference in New Issue
Block a user