删除本地 lmod 模块或更新 HPC 集群上的本地 lmod 模块列表

Remove local lmod modules or update local lmod module list on HPC cluster

我正在处理 HPC 集群。我成功创建了我的本地 openmpi_gpu 模块(使用 intel17.2 和 cuda 8.0 编译)。我所做的是在目录

中存储一个 cuda_17.2.lua 文件
${HOME}/modulefiles/Core/openmpi_gpu/

之后

module use $HOME/modulefiles/Core

我可以通过输入 module avail 查看新模块 "openmpi_gpu/cuda_17.2"。

现在,我打算把这个模块删掉,换成新的用intel 17.2编译的openmpi,没有cuda/8.0。所以我rm -rf openmpi_gpu删除了openmpi_gpu的源文件,重新编译一个openmpi,只用intel 17.2。然后我删除目录 ${HOME}/modulefiles/Core/openmpi_gpu/,并创建一个新目录 ${HOME}/modulefiles/Core/openmpi_intel/ 来存储新的 .lua 文件 local_17.2.lua.

但是,现在我尝试了module avail,但仍然可以看到旧模块"openmpi_gpu/cuda_17.2",而看不到新模块"openmpi/local_17.2"。

我怀疑我不应该仅仅通过删除源文件来删除模块,或者我应该做一些事情来更新模块列表。无论如何,有人对这个问题有任何想法吗?提前谢谢你。

Lmod 使用 cache,所以您可能只是看到了缓存,它还没有更新。 运行 重置它的命令如下:

rm -rf    ~/.lmod.d/.cache

或者,您可以使用 --ignore_cache 选项:

module --ignore_cache avail