
使用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