进阶与工具

Linux环境变量与软件环境

理解PATH、线程变量和模块,避免破坏软件依赖关系。

更新于 2026-10-19约 2 分钟阅读按任务与环境选择适用配置
阅读本篇目录

常见环境变量#

变量 用途 使用原则
PATH 查找可执行程序 优先由公共模块配置,不覆盖原有系统路径
LD_LIBRARY_PATH 动态库查找 不随意混入其他MPI、CUDA和编译器库
OMP_NUM_THREADS OpenMP线程数 应与模板中--cpus-per-task和程序支持匹配
SLURM_NTASKS Slurm分配的任务数 通常用于MPI启动,含义以程序模板为准
CUDA_VISIBLE_DEVICES Slurm分配的可见GPU 保留调度器设置,不改为整机显卡编号

查看当前值:

printf '%s\n' "$PATH"
printf '%s\n' "${OMP_NUM_THREADS:-未设置}"
module list

不要把含密码、API密钥或私密路径的完整环境输出公开粘贴。

当前Shell与长期设置#

export OMP_NUM_THREADS=1

这只影响当前Shell及之后启动的子进程。将命令写入个人Shell启动文件会影响以后的登录,可能改变公共模块和Conda行为;修改前备份个人文件,逐项确认必要性。

不要把某次GPU作业的可见设备、绝对程序路径或临时测试库固定写入通用启动文件。不同科学程序应使用各自匹配模块和Slurm脚本。module使用

并行不是变量越大越快#

CPU任务按56核整节点规则配置,进程数乘线程数与模板一致。只有程序实际支持OpenMP和对应加速路线时,增加线程才可能有效;56MPI再每进程56线程会造成严重超额并行。

Conda环境、MPI、数学库和GPU依赖不要全部叠加进一个长期会话。个人Python环境参见Miniconda使用。

需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。