Module管理環境變量


Moudle(module-environment)是一個專門管理環境變量的工具。
在Linux中管理環境變量的方式一般都是通過寫入profile或bashrc文件。當同一款運行庫、軟件存在多個版本,配置這些環境變量非常繁瑣,而Moudle工具則先將不同軟件的環境的配置文件寫好,然后在使用的時候通過module來進行環境的導入以及刪除。


1、安裝Module

# yum install -y environment-modules

加載Module環境變量

# source /etc/profile.d/modules.sh

 


2、module file常用的語法

set version    # 設置版本    
set prefix     # 設置安裝目錄
prereq         # 設置依賴模塊    
prepend-path   # 添加路徑,類似於export PATH=xxx:$PATH
setenv         # 設置環境變量
append-path    # 類似export PATH=$PATH:xxx

 

3、常用命令

# module avail      # 顯示可以使用的軟件環境
# module load/add   # 加載相應的軟件環境
# module unload/rm  # 卸載相應的軟件環境
# module purge      # 卸載所有軟件環境
# module list       # 列出所有軟件環境
# module switch mod1 mod2 # 卸載mod1並導入mod2
# module show       # 顯示模塊的配置文件

 

4、編寫兩個MPI Module文件

安裝兩個MPI軟件

# yum install -y openmpi3 mpich-3.2

 

MPICH Module文件

# cat /etc/modulefiles/mpi/mpich-3.2
conflict    mpi 
prepend-path    PATH /usr/lib64/mpich-3.2/bin 
prepend-path    LD_LIBRARY_PATH /usr/lib64/mpich-3.2/lib 
prepend-path    PYTHONPATH /usr/lib64/python2.7/site-packages/mpich-3.2 
prepend-path    MANPATH /usr/share/man/mpich-3.2 
prepend-path    PKG_CONFIG_PATH /usr/lib64/mpich-3.2/lib/pkgconfig 
setenv    MPI_BIN /usr/lib64/mpich-3.2/bin 
setenv    MPI_SYSCONFIG /etc/mpich-3.2-x86_64 
setenv    MPI_FORTRAN_MOD_DIR /usr/lib64/gfortran/modules/mpich-3.2-x86_64 
setenv    MPI_INCLUDE /usr/include/mpich-3.2-x86_64 
setenv    MPI_LIB /usr/lib64/mpich-3.2/lib 
setenv    MPI_MAN /usr/share/man/mpich-3.2 
setenv    MPI_PYTHON_SITEARCH /usr/lib64/python2.7/site-packages/mpich-3.2 
setenv    MPI_COMPILER mpich-3.2-x86_64 
setenv    MPI_SUFFIX _mpich-3.2 
setenv    MPI_HOME /usr/lib64/mpich-3.2

 

OpenMPI Module文件

# cat /etc/modulefiles/mpi/openmpi-3.1.3
conflict    mpi 
prepend-path    PATH /usr/lib64/openmpi3/bin 
prepend-path    LD_LIBRARY_PATH /usr/lib64/openmpi3/lib 
prepend-path    PKG_CONFIG_PATH /usr/lib64/openmpi3/lib/pkgconfig 
prepend-path    PYTHONPATH /usr/lib64/python2.7/site-packages/openmpi3 
prepend-path    MANPATH /usr/share/man/openmpi3-x86_64 
setenv    MPI_BIN /usr/lib64/openmpi3/bin 
setenv    MPI_SYSCONFIG /etc/openmpi3-x86_64 
setenv    MPI_FORTRAN_MOD_DIR /usr/lib64/gfortran/modules/openmpi3 
setenv    MPI_INCLUDE /usr/include/openmpi3-x86_64 
setenv    MPI_LIB /usr/lib64/openmpi3/lib 
setenv    MPI_MAN /usr/share/man/openmpi3-x86_64 
setenv    MPI_PYTHON_SITEARCH /usr/lib64/python2.7/site-packages/openmpi3 
setenv    MPI_PYTHON2_SITEARCH /usr/lib64/python2.7/site-packages/openmpi3 
setenv    MPI_COMPILER openmpi3-x86_64 
setenv    MPI_SUFFIX _openmpi3 
setenv    MPI_HOME /usr/lib64/openmpi3

 


5、測試

加載MPICH

# module avail # module load mpi/mpich-3.2 # which mpirun
顯示如下/usr/lib64/mpich-3.2/bin/mpirun

 

加載OpenMPI

# module switch mpi/mpich-3.2 mpi/openmpi-3.1.3 # which mpirun
顯示如下
/usr/lib64/openmpi3/bin/mpirun

 

顯示如下
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM