之前已经介绍了人工智能高性能计算集群建设,但是还遗留了软件包管理仓库的建设内容。这里将补充这部分内容,并沿用之前的章节序号。
目录
6. 软件包管理仓库
Modules 是一个环境模块系统,主要用于在高性能计算集群中管理软件包的环境配置。它允许用户通过简单的命令行指令来改变其 shell 环境中的路径和其他环境变量,从而可以轻松地切换不同的软件版本和配置。
Modules 的主要功能
- 环境管理:Modules 允许用户动态地添加或删除环境变量,如 PATH、MANPATH 和 LD_LIBRARY_PATH 等,使得不同应用程序可以共存并且互不干扰。
- 版本控制:可以为同一软件的不同版本提供独立的环境配置。
- 依赖管理:通过定义模块间的依赖关系,确保软件包按照正确的顺序加载。
- 用户友好:简化了用户操作,只需要几条简单的命令即可完成复杂的环境配置更改。
使用 Modules 的基本命令
一些常见的 Modules 命令包括:
module load <module_name>
:加载指定的模块。module unload <module_name>
或module rm <module_name>
:卸载指定的模块。module switch <old_module> <new_module>
:卸载旧模块并加载新模块。module list
:显示当前加载的所有模块。module help <module_name>
:获取指定模块的帮助信息。module spider
:搜索可用模块及其位置。Modules 的应用场景
Modules 经常用于以下场景:
- 在学术研究机构和企业数据中心的 HPC 集群中,为研究人员提供一致且可重复的软件环境。
- 在多用户共享的计算资源中,保证每个用户可以根据个人需求加载所需的软件配置而不影响他人。
- 在测试和生产环境中切换不同的软件版本。
这部分内容可以参考:
0. modules模块概述 — 孪烽超算平台用户手册 0.1.0 文档https://lfpara.com/docs/hpc/tools/modules/modules.html
6.1. Modules安装
6.1.1 安装
- 使用yum直接安装
yum install epel-release -y
yum install environment-modules -y
安装完成之后,退出当前终端,重新打开终端。查看版本
module --version
- 使用源码安装
# 获取tarball源码包
curl -LJO https://github.com/cea-hpc/modules/releases/download/v5.0.1/modules-5.0.1.tar.gz
# 解压缩源码包
tar xfz modules-5.0.1.tar.gz
# 简单编译安装,有特别需求可以手动设置配置参数
./configure
make
make install
# 常用的配置参数
--prefix=PREFIX #执行文件安装路径
--modulefilesdir=DIR #modulefile文件目录
6.1.2 modulespath配置
在使用yum直接安装时候,默认MODULEPATH 为 /usr/share/Modules/modulefiles:/etc/modulefiles:/usr/share/modulefiles
Modulefiles 的位置通常可以在系统的模块文件系统中找到。 在大多数情况下,这些模块文件存储在特定的目录下,例如 /etc/modulefiles ,/usr/share/modulefiles, /usr/share/Modules/modulefiles。用户可以通过命令行工具查看当前加载的模块文件信息。具体来说,可以使用 module 命令来查看当前加载的模块文件。例如,使用 module list 命令可以列出当前所有已加载的模块文件
在 /usr/share/Modules/init/ 目录下面的脚本,用来初始化Module模块。
- 创建或