Модули среды Linux или среда Conda - PullRequest
0 голосов
/ 01 июня 2018

Я искал разницу между модулями среды Linux или средой Conda, но мне не ясно, чем они отличаются.По сути, я хочу установить OpenMPI и Mpich в свою Ubuntu, но они совместно используют несколько оболочек компилятора.Чтобы быть в безопасности, я хочу изолировать их, так что я должен использовать - модули или среду Conda или любую другую альтернативу?

Кроме того, если я использую Conda Environment, могу ли я ограничить скомпилированный двоичный файл программного обеспечения этой средой?Я удивлен, что я установил некоторое программное обеспечение в базовой среде, но у меня есть доступ из другой среды.

1 Ответ

0 голосов
/ 31 июля 2018

Модули среды предназначены для включения пользователей с программным обеспечением, недоступным в среде по умолчанию.В вашей ситуации вы можете установить OpenMPI и Mpich по изолированным путям, а затем с помощью файлов модулей пользователи могут включить вариант MPI по своему выбору.

Это то, что предоставляется по умолчанию при установке openmpi и * 1006.* в системе Fedora, например:

$ module show mpi/mpich-x86_64 
-------------------------------------------------------------------
/etc/modulefiles/mpi/mpich-x86_64:

conflict        mpi
setenv          MPI_BIN /usr/lib64/mpich/bin
setenv          MPI_SYSCONFIG   /etc/mpich-x86_64
setenv          MPI_FORTRAN_MOD_DIR     /usr/lib64/gfortran/modules/mpich
setenv          MPI_INCLUDE     /usr/include/mpich-x86_64
setenv          MPI_LIB /usr/lib64/mpich/lib
setenv          MPI_MAN /usr/share/man/mpich-x86_64
setenv          MPI_PYTHON_SITEARCH     /usr/lib64/python2.7/site-packages/mpich
setenv          MPI_PYTHON2_SITEARCH    /usr/lib64/python2.7/site-packages/mpich
setenv          MPI_PYTHON3_SITEARCH    /usr/lib64/python3.6/site-packages/mpich
setenv          MPI_COMPILER    mpich-x86_64
setenv          MPI_SUFFIX      _mpich
setenv          MPI_HOME        /usr/lib64/mpich
prepend-path    PATH /usr/lib64/mpich/bin
prepend-path    LD_LIBRARY_PATH /usr/lib64/mpich/lib
prepend-path    MANPATH /usr/share/man/mpich-x86_64
prepend-path    PKG_CONFIG_PATH /usr/lib64/mpich/lib/pkgconfig
-------------------------------------------------------------------
$ module show mpi/openmpi-x86_64 
-------------------------------------------------------------------
/usr/share/modulefiles/mpi/openmpi-x86_64:

conflict        mpi
prepend-path    PATH /usr/lib64/openmpi/bin
prepend-path    LD_LIBRARY_PATH /usr/lib64/openmpi/lib
prepend-path    PKG_CONFIG_PATH /usr/lib64/openmpi/lib/pkgconfig
prepend-path    MANPATH /usr/share/man/openmpi-x86_64
setenv          MPI_BIN /usr/lib64/openmpi/bin
setenv          MPI_SYSCONFIG   /etc/openmpi-x86_64
setenv          MPI_FORTRAN_MOD_DIR     /usr/lib64/gfortran/modules/openmpi
setenv          MPI_INCLUDE     /usr/include/openmpi-x86_64
setenv          MPI_LIB /usr/lib64/openmpi/lib
setenv          MPI_MAN /usr/share/man/openmpi-x86_64
setenv          MPI_PYTHON_SITEARCH     /usr/lib64/python2.7/site-packages/openmpi
setenv          MPI_PYTHON2_SITEARCH    /usr/lib64/python2.7/site-packages/openmpi
setenv          MPI_PYTHON3_SITEARCH    /usr/lib64/python3.6/site-packages/openmpi
setenv          MPI_COMPILER    openmpi-x86_64
setenv          MPI_SUFFIX      _openmpi
setenv          MPI_HOME        /usr/lib64/openmpi
-------------------------------------------------------------------
...