跳至主要内容

节点,常用程序计算配置设置

 磁盘大小查询:df -h .

当前文件夹大小:du -sh *

Nova维护后:

建议在 .bashrc 中不要加载特定版本的模块

集群环境更新频繁:HPC 管理员常常会升级/移除旧版本模块,导致你 .bashrc 里的指定版本丢失或与新版本冲突。

不同项目需求不同:有时你想要在不同脚本里加载不同版本的编译器/CUDA/MPI;如果 .bashrc 强制加载某些版本,会干扰别的任务或环境。

模块冲突循环切换:正如你看到的,Lmod 不停地警告“一会儿切回旧版本,一会儿又切回新版本”,说明存在依赖冲突或循环切换。

总结

打开 ~/.bashrc 并注释掉任何显式的 module load 命令(尤其带后缀版本号的模块)。

让 .bashrc 文件只保留必要的通用环境配置(如 PATH、别名alias 等),不要锁定 HPC 模块版本。

在需要使用的场景(交互或作业脚本)中,手动或写脚本来 module purge 并加载合适的版本组合

这样就可以避免每次读取 .bashrc 时的依赖冲突和版本切换警告。

完成上述操作后,重新登录或执行 source ~/.bashrc,应该就不会再提示这些 Lmod 警告了。

总结

你需要先弄清楚:你的 VASP 是用 Intel 还是 OpenMPI 编译的?

Intel 编译 → module load intel/2024.2.0 一条命令就够了;不要同时加载 GCC/CUDA/OpenMPI。

OpenMPI 编译 → module load gcc + cuda + openmpi。

不要把 Intel 和 GCC + OpenMPI 两套环境同时加载;它们不但“有点冲突”,而且没有这个必要。

只要对应好编译环境与运行环境,你的 srun 就可以正常启动 VASP(全部换成mpirun)。

ldd /work/qan/codes/VASP/bin/vasp_std1 可以查看vasp这个程序是什么编译的以及目前是否库完整

Intel 编译 

module purge

module load intel/2024.2.0


OpenMPI 编译

module purge

module load gcc/14.2.0-cuda12-vx6uhdf

module load cuda/12.4.1-cz3ljd3

module load openmpi/4.1.6-cuda12-zp2vjqb


(base) [kluo@condo2017 test1]$ cat ~/.bashrc

# .bashrc


# Source global definitions

if [ -f /etc/bashrc ]; then

        . /etc/bashrc

fi


# Uncomment the following line if you don't like systemctl's auto-paging feature:

# export SYSTEMD_PAGER=


# User specific aliases and functions


export AWS_DEFAULT_REGION=us-west-2 

export PATH=$HOME/.local/bin:$PATH

#export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/shared/hpc/intel/18.3/mkl/lib/intel64


# >>> conda initialize >>>

# !! Contents within this block are managed by 'conda init' !!

__conda_setup="$('/work/qan-free/kluo/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"

if [ $? -eq 0 ]; then

    eval "$__conda_setup"

else

    if [ -f "/work/qan-free/kluo/anaconda3/etc/profile.d/conda.sh" ]; then

        . "/work/qan-free/kluo/anaconda3/etc/profile.d/conda.sh"

    else

        export PATH="/work/qan-free/kluo/anaconda3/bin:$PATH"

    fi

fi

unset __conda_setup

# <<< conda initialize <<<


(base) [kluo@condo2017 test1]$ 

lammps 全部用1就行

Nova建议deepmd train设置

export OMP_NUM_THREADS=16
export TF_INTRA_OP_PARALLELISM_THREADS=16
export TF_INTER_OP_PARALLELISM_THREADS=4
Anvil 建议:
export OMP_NUM_THREADS=1
export TF_INTRA_OP_PARALLELISM_THREADS=1
export TF_INTER_OP_PARALLELISM_THREADS=128

评论

此博客中的热门博文

lammps 压痕划痕模拟设置参考

  Molecular dynamics study on the effect of electric current on electrically-assisted scratching for crystal copper - IOPscience 原因深入分析如下: ✅ 切削 / 摩擦 / 划痕:局部剧烈变形 → 热量集中 这类过程模拟的是工具与材料 接触区域的强烈局部非平衡过程 ; 如果对整个系统控温,会 严重抹平局部发热、滑移带的应变能耗散 等重要现象; 所以 只在边界区域(如底部、侧边)设 thermostat,起到“热沉”作用 ; 文献经典设置就是: 底部固定 ; 边缘 slab 控温 ; 接触区完全不控温,自由演化 。 ✅ 拉伸 / 压缩 / 剪切:全局加载 → 热传导充分 是材料整体在受力,不存在特别“集中”的能量输入区域; 局部发热相对温和,且在 bulk 系统中可以通过自身结构进行导热 ; 实验中常常是等温加载(准静态过程); 所以 很多文献就直接用整体 fix nvt 控温 ,保持恒温环境,简化模拟; 注意有些更精细的研究会改为: 只在两端 slab 控温,中间 Newtonian 自由演化 。 📚 二、典型模拟场景下的控温策略总览 场景类别 控温方式 控温范围 控温方法 控温目的 注意事项 ✅ 平衡态热力学性质 (如热容、扩散、应力) 整体控温 全体系 fix nvt , fix npt 模拟室温等温状态 标准EMD方法 ✅ 热导率(Green-Kubo) 整体控温 全体系 fix nvt (前期平衡), 后期 nve 采集能流自相关函数 采样期不能控温 ✅ 热导率(NEMD) 区域控温 热源/热沉 fix langevin , fix heat 人为施加温差形成热流 中间区自由演化 ✅ 拉伸 / 压缩 / 剪切 整体控温(常用)或局部控温 全体系或上下 slab fix nvt 或 langevin slab 保持恒温,避免非真实升温 全控温可抹平热应变 ✅ 应力松弛 / 加热冷却过程 整体控温 全体系 fix nvt 或温度渐变 等温退火、升温或冷却 控温方式决定退火速率 ✅ 位错运动 / 缺陷扩散 局部控温 边界或部分 slab ...

lammps Pdamp,Tdamp的设置经验

 一张小抄(固体/位错/二维材料都适用) fix             11    all npt temp 0.1 0.1 0.5 tri 0.0 0.0 5   drag 2 tchain 3 pchain 3 保持 Pdamp ≫ Tdamp(通常 10× 左右)。 固体/低温:Tdamp 取 0.5–1 ps,Pdamp 取 5–15 ps;需要更稳就再加大 Pdamp。 所以推荐如下: 0.1K 用1 10 300K 固体 用0.5 5  高温用0.2 2 液体用0.1 1 液体/高温:Tdamp 0.2–0.5 ps,Pdamp 2–5 ps 往往够。 2D(石墨烯等,只控平面 x/y):Pdamp 常用 10–20 ps 起步,z 固定或 z NULL。 观察到体积/压力振荡大:增加 Pdamp 或加 drag 2–3,必要时把 dt 临时降到 0.5 fs。 drag 2、tchain/pchain 3 保留没坏处,确实能再抑制一点振荡;不是硬性必须,但在固体+低温+(可能还有 tri 或剪切)的组合里,“更稳”>“更快”,我一般会开着。

dpgen训练经验

最新的dpgen参考PtCuP /work/qan/kluo/PtCuP 0.1K的第0代采样很重要 可以多重复几次确保99以上的准确率,它是后续高温的基础 单点能计算  ISYM = 2 nohup dpgen run param.json machine.json 1>log 2>err& nohup dpgen init_bulk param.json machine.json  1>log 2>err& 初始数据集产生,只能一个POSCAR的计算 但是可以同时提多个任务,但是每个任务都需要 POTCAR POSCAR 一 一对应才行。  elements 和POSCAR POTCAR保持一致。 " type_map " : [ "Ti" , "C" , "V" , "Cr" , "Nb" , "Mo" ],都写全才行 POSCAR 不需要 改成特定顺序 程序最终生成数据集的时候会根据 type_map自动统一匹配 usage: dpgen [-h] {init_surf,init_bulk,auto_gen_param,init_reaction,run,run/report,collect,simplify,autotest,db,gui} ... dpgen is a convenient script that uses DeepGenerator to prepare initial data, drive DeepMDkit and analyze results. This script works based on several sub-commands with their own options. To see the options for the sub-commands, type "dpgen sub-command -h". positional arguments:   {init_surf,init_bulk,auto_gen_param,init_reaction,run,run/report,collect,simpli...