1

我最近在 Linux Mint 19 上安装了environment-modules软件包(版本4.1.1-1),我正在尝试弄清楚如何设置不同的环境。不幸的是,当您还不是该主题的专家时,文档只给出了很少的指示(我希望有一个简单的示例,但我发现大部分只是一个命令列表)。更具体地说,我有以下情况:

  • 我在/usr/share/modules/.
  • 我使用两种不同的编译器(GNU 和 Intel)编译了 OpenMPI。相应的二进制文件、库等分别位于/usr/local/modules/mpi/gnu/usr/local/modules/mpi/intel中。
  • 我想设置两个环境,一个用于 MPI 的每个编译版本,以便我可以轻松地在这些环境之间切换(module load mpi/gnumodule load mpi/intel或类似的东西)。

如果这个问题是微不足道的,或者之前已经发布过,我深表歉意。仅 Modules 包的名称就使得在网络上搜索支持变得异常困难(就像有人将他们的产品命名为Software;祝您在 Google 上找到您需要的东西)。您的帮助将不胜感激。

4

1 回答 1

4

安装软件后,您需要编写模块文件来启用它们。首先定义放置这些模块文件的位置,例如:

mkdir /usr/local/modules/modulefiles

在此目录中,创建代表您将模块文件引用到的名称的子目录

mkdir -p /usr/local/modules/modulefiles/mpi/gnu
mkdir -p /usr/local/modules/modulefiles/mpi/intel

在这些目录中,创建一个以您安装的软件版本号命名的模块文件(在您的情况下,例如3.1.3)。使用版本号命名模块文件有助于拥有多个模块文件,以防您以后想要安装更新版本的软件。

所以现在,使用modulefile 语法mpi/gnu/3.1.3创建由/usr/local/modules/modulefiles/mpi/gnu/3.1.3文件表示的 modulefile 的内容:

#%Module
conflict     mpi
prepend-path PATH /usr/local/modules/mpi/gnu/bin
prepend-path LD_LIBRARY_PATH /usr/local/modules/mpi/gnu/lib
prepend-path MANPATH /usr/local/modules/mpi/gnu/man

将此内容调整为您需要/要设置的环境配置。

对中的模块文件重复此mpi/intel/3.1.3步骤/usr/local/modules/modulefiles/mpi/intel/3.1.3

一旦你准备好这些模块文件,就需要将它们放在你的 shell 会话中。这可以通过以下module use命令完成:

module use /usr/local/modules/modulefiles

从那里,可以在模块目录 ( module avail) 和加载 ( module load) 中找到 2 个模块文件。

于 2018-12-07T18:05:01.737 回答