Как я могу скомпилировать OpenFoam с пользовательской реализацией MPI?

Я пытаюсь установить OpenFoam-19.06 в CentOS 6.6. У меня есть версия MPI в /global/mpi/mympich. В файле etc/bashrc я создал переменную:

export WM_MPLIB=MYMPICH

> а в файле etc/config.sh/mpi создал новый кейс:

MYMPICH)
    export FOAM_MPI=mympich
    export MPI_ARCH_PATH=/global/mpi/mympich
    export MPICH_PATH=$MPI_ARCH_PATH

    _foamAddPath    $MPI_ARCH_PATH/bin
    _foamAddLib     $MPI_ARCH_PATH/lib
    ;;

Затем я устанавливаю переменные среды с помощью:

источник и т.д./bashrc

и скомпилируйте стороннее программное обеспечение с помощью (в соответствующем каталоге):

./makeCGAL

Наконец, я компилирую OpenFoam с помощью (в соответствующем каталоге):

./Всесделать

Вроде начало неплохое:

========================================
2019-11-15 13:24:03 +0100
Starting compile OpenFOAM-v1906 Allwmake
  Gcc system compiler
  linux64GccDPInt32Opt, with MYMPICH mympich
========================================

built wmake-bin (linux64Gcc)

========================================
Start ThirdParty Allwmake
========================================
using:  gcc -m64 -DOPENFOAM=1906 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -O3 -fPIC
using:  g++ -std=c++11 -m64 -DOPENFOAM=1906 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -Wno-attributes -Wno-unknown-pragmas -O3 -DNoRepository -ftemplate-depth-100 -fPIC

========================================
Build MPI libraries if required
    /global/mpi/mympich

Но это заканчивается Следующим результатом:

module.h:236:37: warning: ‘foldval’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 #define SCOTCH_NAME_PREFIX_INTERN   _SCOTCH
                                     ^
vdgraph_separate_ml.c:90:23: note: ‘foldval’ was declared here
   int                 foldval;
                       ^
cp: cannot stat `../bin/[agm]*': No such file or directory
make: [install] Error 1 (ignored)
cp: cannot stat `../bin/d[agm]*': No such file or directory
make: [install] Error 1 (ignored)
cp: cannot stat `../include/*esmumps*.h': No such file or directory
make: [install] Error 1 (ignored)
cp: cannot stat `../lib/*esmumps*.so': No such file or directory
make: [install] Error 1 (ignored)
    ln: OpenFOAM/lnInclude
    ln: OSspecific/POSIX/lnInclude
    ln: ./lnInclude
In file included from PstreamGlobals.C:28:0:
PstreamGlobals.H:42:17: fatal error: mpi.h: No such file or directory
compilation terminated.
make: *** [/home/OpenFOAM-v1906/build/linux64GccDPInt32OptMYMPICH/src/Pstream/mpi/PstreamGlobals.o] Error 1
make: *** Waiting for unfinished jobs....
In file included from UPstream.C:32:0:
PstreamGlobals.H:42:17: fatal error: mpi.h: No such file or directory
compilation terminated.
make: *** [/home/OpenFOAM-v1906/build/linux64GccDPInt32OptMYMPICH/src/Pstream/mpi/UPstream.o] Error 1
In file included from UOPwrite.C:34:0:
PstreamGlobals.H:42:17: fatal error: mpi.h: No such file or directory
compilation terminated.
In file included from UIPread.C:34:0:
PstreamGlobals.H:42:17: fatal error: mpi.h: No such file or directory
compilation terminated.

До сих пор я не нашел хорошего руководства, чтобы сделать то, на что я нацелен.


person Bub Espinja    schedule 15.11.2019    source источник
comment
Можно ли добавить полный журнал компиляции в виде вложения? Кроме того, не могли бы вы вернуться к руководству по сборке в OpenFOAM gitlab wiki (я добавлю адрес, если у меня будет доступ через мой компьютер). Вы установили конфигурации в файлах $FOAM/etc/config.sh/*?   -  person Herpes Free Engineer    schedule 17.11.2019


Ответы (2)


В OpenFOAM-1712 и более поздних версиях предусмотрено именно то, что вы хотите. Он называется USERMPI. Если вы укажете это, он будет искать соответствующее правило mplib, за создание которого вы также отвечаете.

Вероятно, лучше всего поднять в качестве проблемы/запроса документации на их трекере gitlab.

Если вы хотите увидеть действительно подробный пример, взгляните на spack openfoam/package.py — там он заполняется значениями из spack.

person user10142377    schedule 11.01.2020

нет, я думаю, вы установили mpich? или что-то другое. У нас нет mpi с именем mympi.

person ztdep    schedule 12.09.2020
comment
Я почти уверен, что это должен быть ответ. Но это не очень очевидно. Пожалуйста, отредактируйте, чтобы перефразировать. В идеале без вопроса, пусть даже риторического. - person Yunnosch; 28.09.2020