东华理工大学先进算力服务平台
东华理工大学先进算力服务平台

软件环境选择

平台提供编译器、MPI、科学计算库、专业软件、Anaconda、R 和人工智能工具链等软件环境。具体软件名称、版本、加载方式和授权范围,以平台页面、module avail 命令输出或管理员公布的信息为准。

基本原则:优先使用平台已经配置和维护的软件模块。加载前先确认版本与依赖关系,并在小规模测试通过后再提交正式计算作业。

环境选择流程

  1. 根据程序类型、编程语言、CPU 或 GPU 资源以及论文复现实验要求,确定所需的软件和版本。

  2. 查看平台当前可用模块及版本说明,优先选择平台已测试、已维护的环境。

  3. 清理不需要的旧模块后,按依赖顺序加载编译器、MPI、数学库和应用软件。

  4. 检查当前已加载模块和程序实际版本,避免同时加载互不兼容的环境。

  5. 使用小输入、小规模资源完成编译、启动和输出测试。

  6. 将环境加载命令写入作业脚本,并记录依赖列表、运行脚本和关键参数。

常用 Module 命令

module avail查看当前可用的软件模块。
module show 软件/版本查看模块配置、依赖和环境变量。
module load 软件/版本加载指定软件版本。
module list查看当前已经加载的模块。
module unload 软件/版本卸载指定模块。
module purge清理当前已加载模块,便于从干净环境重新配置。
module purge
module avail
module load 编译器/版本
module load MPI/版本
module load 应用软件/版本
module list

模块命名方式因平台配置而异,示例中的“软件/版本”应替换为 module avail 实际显示的名称。

编译器、MPI 与 GPU 环境

  • 编译程序时应记录编译器版本、编译选项和链接的科学计算库版本。

  • MPI 程序应使用与当前编译器配套的 MPI 模块,避免混用不同工具链编译的库和可执行文件。

  • GPU 作业应确认 CUDA、驱动、深度学习框架和 GPU 型号之间的兼容关系。

  • 切换工具链或软件版本后,应重新检查或重新编译程序,不要直接复用来源不明的旧二进制文件。

同一作业中不要随意混合多个编译器、MPI 或 CUDA 版本。出现库文件冲突、符号缺失或程序异常退出时,应先检查 module list 和程序实际调用的环境。

Python、Conda 与 R 项目

Python 项目建议为每个课题建立独立的 Conda 环境或虚拟环境,避免直接修改平台公共环境。环境名称应体现项目用途,不建议将所有依赖长期安装在同一个环境中。

# 先按平台实际模块名称加载 Anaconda 或 Python
module avail
module load Anaconda模块名称

conda create -n project-env python=3.x
conda activate project-env
python --version
conda env export --no-builds > environment.yml
pip freeze > requirements.txt
  • 不要在平台公共 Python 或 Conda 环境中直接安装、升级或删除软件包。

  • 在 Slurm 作业脚本中重新加载所需模块并激活项目环境,不要依赖登录终端中临时设置的环境。

  • R 项目建议使用独立项目库或依赖管理工具,并通过 sessionInfo() 记录 R 与软件包版本。

  • 安装依赖前检查来源、许可证和安全风险,不要执行来源不明的安装脚本。

实验复现记录

论文计算、模型训练和重要科研任务应至少记录:软件与版本、编译器和 MPI 版本、Python/R 依赖列表、CUDA 或加速库版本、作业脚本、输入数据版本、随机种子、资源参数和关键运行参数。

建议将环境说明、依赖清单和作业脚本与项目代码一同保存,避免仅依赖交互式终端历史或个人记忆。

新增软件与安全要求

需要新增软件、专业软件授权、特殊依赖或系统级配置时,请提前联系平台管理员,并说明软件名称、版本、官方网站、许可证类型、使用用途、依赖条件和预计使用人员。

禁止:用户不得私自安装或使用来源不明、授权不清、破解盗版或存在安全风险的软件;不得擅自修改系统环境、公共模块或其他用户的软件目录。

软件清单、模块名称、版本、许可证状态和安装流程如有调整,以平台页面、命令输出、运维群公告和管理员最新通知为准。