在 Ubuntu 18.04 LTS 上的环境模块中设置自定义模块文件

在 Ubuntu 18.04 LTS 上的环境模块中设置自定义模块文件

使用environment-modules,我尝试使用英特尔编译器和 openmpi 设置用于安装软件的自定义环境模块。我不熟悉创建自定义模块文件的方法,但我借助互联网上提供的少量资源构建了两个,尽​​管我似乎无法让它工作。我正在使用运行 ubuntu 18.04 LTS 的 HPC,这是我的英特尔模块文件(../bin 包含“compilervars.csh compilationervars.sh”,../lib 包含“ia32 ia32_lin intel64 intel64_lin”):

#%Module1.0#####################################################################
##")
## intel modulefile
##
proc ModulesHelp { } {
    puts stderr "\tAdds Intel compilers to your environment variables,"

}

module-whatis "adds Intel compilers to your environment variables"

setenv(     "INTELPATH",        "/opt/intel/bin")
prepend_path(   "PATH",         "/opt/intel/bin")
prepend_path(   "LD_LIBRARY_PATH",  "/opt/intel/lib")

接下来对于 openmpi,这是我的尝试:

#%Module1.0#####################################################################
##")
## openmpi modulefile
##
proc ModulesHelp { } {
    puts stderr "\tAdds openmpi to your environment variables,"

}

module-whatis "adds openmpi to your environment variables"

setenv(     "INTELPATH",        "/usr/bin")
prepend_path(   "PATH",         "/usr/bin")
prepend_path(   "LD_LIBRARY_PATH",  "/usr/lib/x86_64-linux-gnu/openmpi/lib")

这会出现以下错误(对于英特尔编译器):

Loading intel
   Module Error: extra characters after close-quote
   In '/usr/local/Modules/modulefiles/intel'
   Please contact <root@localhost>

但是,我不确定我是否正确设置了它。我找不到 openmpi 的 bin 文件夹,但在 /usr/bin 中找到了 mpicc.openmpi 和 mpirun.openmpi。我也不确定这个库。请指导我如何正确设置我的环境模块并修复我的两个模块文件。这对我来说相当令人困惑,因为我不熟悉这项工作,因为我更多地从事计算科学工作。我希望我能尽快让它工作。谢谢!

答案1

您的模块文件中存在多个语法错误。这就是您收到此Module Error: extra characters after close-quote错误消息的原因。

Modulefile Tcl 命令不使用(,)字符,因此需要重写:

setenv(     "INTELPATH",        "/opt/intel/bin")
prepend_path(   "PATH",         "/opt/intel/bin")
prepend_path(   "LD_LIBRARY_PATH",  "/opt/intel/lib")

进入:

setenv       INTELPATH       /opt/intel/bin
prepend-path PATH            /opt/intel/bin
prepend-path LD_LIBRARY_PATH /opt/intel/lib

这同样适用于 openmpi 模块文件。

完整的 modulefile 命令参考可以在以下位置找到https://modules.readthedocs.io/en/stable/modulefile.html

相关内容