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

我正在一个 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 而没有 cuda/8.0 的新 openmpi 替换它。因此,我执行 rm -rf openmpi_gpu 来删除 openmpi_gpu 的源文件,并重新编译一个仅使用 intel 17.2 的 openmpi。然后删除目录 ${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"。

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

点赞
用户1763614
用户1763614

Lmod 使用一个缓存,所以你可能只是看到了缓存,而它还没有更新。运行下面的命令来重置它:

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

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

module --ignore_cache avail
2017-10-06 07:34:07