介绍
Modules环境模块管理工具安装和配置。
许多大型的服务器或者计算机集群上由于软件有非常多,用户各有各的需求,因此需要对这些软件进行管理,其中用的比较多的是通过Modules。
安装
系统使用Ubuntu 16.04
依赖安装。编译安装
modules
源码需要一些依赖软件,直接命令安装即可:1
sudo apt install automake autoconf autopoint tcl-dev tk-dev -y
modules
编译安装。下载并编译,命令如下:1
2
3
4
5
6wget https://github.com/cea-hpc/modules/releases/download/v4.3.0/modules-4.3.0.tar.gz
tar -xvf modules-4.3.0.tar.gz
cd modules-4.3.0
./configure --prefix=/opt/Modules --modulefilesdir=/opt/Modules/modulefiles
make -j4
sudo make install
完成以后将在系统环境变量中添加一行:source /opt/Modules/init/profile.sh
模块配置
终端执行module avail
可以查看可用的加载module,但是这些对你没用,你需要自己设置想要的模块。
下面简单的设置两个例子:
CUDA模块
如果你想要使用CUDA
(nvcc),那么需要设置相应的加载模块文件,将其放到/opt/Modules/modulefiles
文件夹下,例如下面的名为cuda-10.0
的modulefile:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21#%Module1.0
##
## cuda module
##
set ver 10.0.130
set modroot /usr/local/cuda-10.0
proc ModulesHelp { } {
puts stderr "Sets up the paths you need to use cuda $ver."
}
prepend-path PATH $modroot/bin
prepend-path CUDA_PATH $modroot
prepend-path LD_LIBRARY_PATH $modroot/lib
prepend-path LD_LIBRARY_PATH $modroot/lib64
prepend-path C_INCLUDE_PATH $modroot/include
prepend-path LIBRARY_PATH $modroot/lib64
prepend-path MANPATH $modroot/doc/man/
prepend-path CUDA_TOP $modroot
prepend-path CUDA_HOME $modroot支持
CUDA
加速的GROMACS2019
模块文件。同上,gmx2019.3
文件内容如下:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24#%Module1.0
##
## gmx2019.3-cuda module
##
module load cuda-10.0
set base /home/liuyujie714/Downloads/gmx2019
set ver 2019.3
set ver2 GNU
setenv GMXBIN $base/bin
setenv GMXDATA $base/share/gromacs
setenv GMXLDLIB $base/lib64
setenv GMXMAN $base/share/man
setenv GROMACS_DIR $base
prepend-path PATH $base/bin
prepend-path LD_LIBRARY_PATH $base/lib
prepend-path LD_LIBRARY_PATH /usr/local/lib
prepend-path LIBRARY_PATH $base/lib64
prepend-path CPATH $base/include/gromacs
prepend-path MANPATH $base/share/man
prepend-path PKG_CONFIG_PATH $base/lib64/pkgconfig
可以看到使用gmx2019.3
时,需要加载CUDA
模块。
使用
设置好以后就可以加载使用了。比如你想要用CUDA
,那么只需要在终端输入:1
module load cuda-10.0
如果想使用gmx2019.3
,也只需要输入:1
module load gmx2019.3
module list
可以查看已经加载的模块,module unload xxx
可以卸载xxx
模块。