如何在Ubuntu系统中配置并使用Environment Module环境模块工具
如何在Ubuntu系统中配置并使用Environment Module环境模块工具
我来帮你搞定这个问题~在Ubuntu上配置Environment Module其实挺容易的,跟着下面的步骤来就行:
1. 先安装Environment Module工具
Ubuntu官方软件源里就有这个工具包,直接用apt安装就行:
sudo apt update && sudo apt install environment-modules
安装完成后,需要让当前shell识别module命令——默认情况下,这个工具的初始化脚本会在系统登录时自动加载,但如果是刚安装完的终端,得手动加载一次:
. /etc/profile.d/modules.sh
或者直接重启终端,下次登录就会自动生效了。
2. 验证安装是否成功
执行下面的命令,如果能正常输出版本信息或者可用模块列表,就说明安装成功了:
module --version # 或者查看当前可用的模块 module avail
3. 加载NVHPC的模块
你已经安装好NVHPC并生成了模块文件,接下来只需要把NVHPC的模块目录加入到模块搜索路径里:
module use /opt/nvidia/hpc_sdk/modulefiles
之后就能直接加载NVHPC模块了:
module load nvhpc/23.7
如果想每次登录都自动添加这个路径,不用手动执行module use,可以把这条命令加到你的~/.bashrc或者~/.profile文件末尾,保存后下次登录就会自动生效。
4. 用模块管理MPI(实现Fedora式的切换)
针对你提到的MPICH和OpenMPI切换需求,Ubuntu默认没有提供现成的模块文件,但我们可以自己创建,步骤如下:
第一步:创建自定义模块目录
先在你的用户目录下建一个存放模块文件的文件夹:
mkdir -p ~/modulefiles/mpich mkdir -p ~/modulefiles/openmpi
第二步:编写模块文件
根据你实际安装的MPI版本,创建对应的模块文件(路径可以用which mpirun.mpich或which mpirun.openmpi确认):
MPICH的模块文件(比如~/modulefiles/mpich/3.4.3,版本号替换成你实际的):
#%Module1.0 proc ModulesHelp { } { puts stderr "加载MPICH MPI实现" } module-whatis "MPICH MPI并行库" prepend-path PATH /usr/bin/mpich prepend-path LD_LIBRARY_PATH /usr/lib/x86_64-linux-gnu/mpich
OpenMPI的模块文件(比如~/modulefiles/openmpi/4.1.4):
#%Module1.0 proc ModulesHelp { } { puts stderr "加载OpenMPI MPI实现" } module-whatis "OpenMPI MPI并行库" prepend-path PATH /usr/bin/openmpi prepend-path LD_LIBRARY_PATH /usr/lib/x86_64-linux-gnu/openmpi
第三步:添加自定义模块路径
执行命令把你的自定义模块目录加入搜索路径:
module use ~/modulefiles
同样,把这条命令加到~/.bashrc里可以永久生效。
现在你就可以像在Fedora里那样切换MPI了:
# 加载MPICH module load mpich # 切换到OpenMPI module switch mpich openmpi # 查看当前加载的模块 module list # 卸载模块 module unload openmpi
一些常用的module命令小总结
module avail:查看所有可用的模块module load <模块名>:加载指定模块module unload <模块名>:卸载指定模块module switch <旧模块> <新模块>:切换模块module list:查看当前已加载的模块module purge:卸载所有已加载的模块
备注:内容来源于stack exchange,提问作者alfC




