跳转至

Module使用

软件安装到自定义的目录后,并不能直接使用,需要将软件的可执行文件路径等添加到对应的环境变量后才能使用。module则是一款环境变量管理工具,通过module实现软件环境变量的管理,快速加载和切换软件环境。集群安装了常用的一些软件和库,可通过module进行加载使用。

首先介绍module常见的一些指令;接着介绍几个module的几个使用案例;最后介绍如何编写modulefile来管理自己的软件环境。

module常见的一些指令

module help                # 显示帮助信息   
module avail               # 显示已经安装的软件环境     
module load                # 导入相应的软件环境      
module unload              # 删除相应的软件环境     
module list                # 列出已经导入的软件环境      
module purge               # 清除所有已经导入的软件环境     
module switch [mod1] mod2  # 删除mod1并导入mod2   

使用module的例子

清除所有通过module导入的软件环境:

module purge
查看集群现有软件活库:
module avail
查看集群可用的matlab版本:
module avail matlab
导入matlab/R2017a软件环境:
module load matlab/R2017a

如何编写modulefile来管理自己的软件环境

编写 modulefile 常见的语法

module-whatis # 本module的简介,module search的搜索对象
set           # 设置 modulefile 内部的变量
setenv        # 设置环境变量
prepend-path  # 效果类似于 export PATH=xxx:$PATH
append-path   # 效果类似 export PATH=$PATH:xxx

自己编译安装的软件也可以通过module来进行管理,步骤为:先创建目录用来存放自己的modulefile;然后在创建好的目录下编写modulefile.

建立对应目录

请按此路径建立自己 module 文件的目录结构,否则平台中 module 软件不会自动识别

mkdir ${HOME}/modulefiles

编辑自己的 module 文件

假设你自己安装了如下程序:

  • Software: GCC
  • Version: 7.2.0
  • Location: /share/home/test/soft/gcc/7.2.0

那么你的 module file 就类似如下内容:

vim ${HOME}/modulefiles/gcc-7.2.0
#%Module1.0#################################################################
##
## gcc@gcc-7.2.0  modulefile
## Example for gcc version 7.2.0
##
proc ModulesHelp { } {
    puts stderr "\tThis module defines environment variables, aliases and add PATH for GCC"
    puts stderr "\tVersion gcc-7.2.0"
}
module-whatis "Loads environment for gcc 7.2.0"

# 设置 gcc 的安装目录
set topdir "/share/home/test/soft/gcc/7.2.0"

# 将必要路径加入 PATH
prepend-path PATH "${topdir}/bin"
prepend-path LIBRARY_PATH "${topdir}/lib"
prepend-path LD_LIBRARY_PATH "${topdir}/lib"
prepend-path LIBRARY_PATH "${topdir}/lib64"
prepend-path LD_LIBRARY_PATH "${topdir}/lib64"
prepend-path CPATH "${topdir}/include"
prepend-path CMAKE_PREFIX_PATH "${topdir}"

setenv CC "${topdir}/bin/gcc"
setenv CXX "${topdir}/bin/g++"
setenv FC "${topdir}/bin/gfortran"
setenv F77 "${topdir}/bin/gfortran"
setenv F90 "${topdir}/bin/gfortran"

本文阅读量  次    本站总访问量  次