设置环境变量(modules方式)
前提条件
- 已配置yum源。执行以下命令检查节点YUM源是否已配置,确保回显中有OS对应的YUM源。
yum list | grep kernel
- 已安装tcl工具。
回显有如下信息说明已安装tcl工具。
tcl.aarch64 1:8.6.12-4.oe2203sp1 @anaconda
如果未安装tcl工具,执行以下命令安装。yum install -y tcl*
- 已安装module工具。
回显有如下信息说明已安装module工具。
environment-modules.aarch64 5.0.1-3.oe2203sp1 @OS
如果未安装module工具,执行以下命令安装,并加载环境变量。yum install -y environment-modules source /etc/profile.d/modules.sh
注意事项
建议同一环境中使用一种编译器进行编译,如果同时使用两种编译器进行编译,则需要注意环境变量信息是否正确。具体原因及配置方法如下:
由于环境变量信息中,参数“CC”、“CXX”、“FC”、“F77”、“F90”和“OPAL_PREFIX”的值只针对当前使用的编译器生效,如果要使用另一种编译器,需要先卸载当前已有环境变量模块,然后加载需要另一种编译器进行编译的组件环境变量模块。不同编译器编译对应组件的环境变量管理模块时,其环境变量参数值请参见表1。
示例:
当前使用毕昇编译器,已加载环境变量模块“bisheng/hmpi/hmpi”,此时,“OPAL_PREFIX”的值为“/opt/HPCKit/24.3.30/hmpi/bisheng/ompi”,如果需要切换为GCC编译器,则需要先卸载环境变量模块“bisheng/hmpi/hmpi”,然后加载环境变量模块“gcc/hmpi/hmpi”,加载完成后,“OPAL_PREFIX”的值为“/opt/HPCKit/24.3.30/hmpi/gcc/ompi”。
操作步骤
- 使用PuTTY工具,登录HPCKit的安装节点。
- 执行以下命令,进入HPCKit安装目录。
cd /opt/HPCKit/latest
/opt:HPCKit的默认安装目录,请替换为实际路径。
- 执行以下命令,添加modulefiles。
module use modulefiles
使用 sh modulefiles-setup.sh 可以恢复误删的 modulefiles 文件夹。
- 执行以下命令,查询可用环境变量模块。
module avail
回显如下类似信息:
------------------------------------------------------------ /opt/HPCKit/24.3.30/modulefiles ------------------------------------------------------------- bisheng/compiler/bishengmodule bisheng/kml/kblas/serial-nolocking bisheng/kml/kvml/serial gcc/kml/kblas/serial-locking gcc/kml/kvml/omp bisheng/hmpi/hmpi bisheng/kml/kml gcc/compiler/gccmodule gcc/kml/kblas/serial-nolocking gcc/kml/kvml/serial bisheng/kml/kblas/omp bisheng/kml/kspblas/omp gcc/hmpi/hmpi gcc/kml/kml bisheng/kml/kblas/pthread bisheng/kml/kspblas/serial gcc/kml/kblas/omp gcc/kml/kspblas/omp bisheng/kml/kblas/serial-locking bisheng/kml/kvml/omp gcc/kml/kblas/pthread gcc/kml/kspblas/serial
如果回显信息中包含不需要加载的模块信息,您可以执行以下命令删除。
module unuse /opt/HPCKit/24.3.30/modulefiles
其中,”/opt/HPCKit/24.3.30/modulefiles”为模块名称,请根据实际情况替换。
- 加载环境变量模块。
- 查询对应组件的环境变量信息。
表1 组件环境变量信息的查询方法 组件名称
模块名称
操作步骤
Compiler
bisheng/compiler/bishengmodule
echo $LD_LIBRARY_PATH; echo $PATH; echo $CC; echo $CXX; echo $FC; echo $F77; echo $F90
说明:环境变量参数含义具体如下:
- LD_LIBRARY_PATH:动态链接库的搜索路径,例如“/opt/HPCKit/24.3.30/compiler/bisheng/lib”。
- PATH:可执行程序的搜索路径,例如“/opt/HPCKit/24.3.30/compiler/bisheng/bin”。
- CC:编译C语言程序的编译器名称,值为clang。
- CXX:编译C++程序的编译器名称,值为clang++。
- FC:编译Fortran程序的编译器名称,值为flang。
- F77:编译Fortran77程序的编译器名称,值为flang。
- F90:编译Fortran90程序的编译器名称,值为flang。
回显信息示例:
1 2 3 4 5 6 7
/opt/HPCKit/24.3.30/compiler/bisheng/lib:/usr/local/lib /opt/HPCKit/24.3.30/compiler/bisheng/bin:/usr/local/shc/bin:/usr/share/Modules/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin clang clang++ flang flang flang
gcc/compiler/gccmodule
echo $LD_LIBRARY_PATH; echo $PATH; echo $CC; echo $CXX; echo $FC; echo $F77; echo $F90
说明:环境变量参数含义具体如下:
- LD_LIBRARY_PATH:动态链接库的搜索路径,例如“/opt/HPCKit/24.3.30/compiler/gcc/lib64:/opt/HPCKit/24.3.30/compiler/gcc/lib”。
- PATH:可执行程序的搜索路径,例如“/opt/HPCKit/24.3.30/compiler/gcc/bin”。
- CC:编译C语言程序的编译器名称,值为gcc。
- CXX:编译C++程序的编译器名称,值为g++。
- FC:编译Fortran程序的编译器名称,值为gfortran。
- F77:编译Fortran77程序的编译器名称,值为gfortran。
- F90:编译Fortran90程序的编译器名称,值为gfortran。
回显信息示例:
/opt/HPCKit/24.3.30/compiler/gcc/lib64:/usr/local/lib /opt/HPCKit/24.3.30/compiler/gcc/bin:/usr/local/shc/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin gcc g++ gfortran gfortran gfortran
HMPI
bisheng/hmpi/hmpi
echo $LD_LIBRARY_PATH; echo $PATH; echo $INCLUDE; echo $OPAL_PREFIX
说明:环境变量参数含义具体如下:
- LD_LIBRARY_PATH:动态链接库的搜索路径,例如“/opt/HPCKit/24.3.30/hmpi/bisheng/ompi/lib:/opt/HPCKit/24.3.30/hmpi/bisheng/ucx/lib:/opt/HPCKit/24.3.30/hmpi/bisheng/ucg/lib”。
- PATH:可执行程序的搜索路径,例如“/opt/HPCKit/24.3.30/hmpi/bisheng/ompi/bin:/opt/HPCKit/24.3.30/hmpi/bisheng/ucx/bin:/opt/HPCKit/24.3.30/hmpi/bisheng/ucg/bin”。
- INCLUDE:Hyper MPI中ompi、ucx和ucg组件的头文件目录,例如“/opt/HPCKit/24.3.30/hmpi/bisheng/ompi/include:/opt/HPCKit/24.3.30/hmpi/bisheng/ucx/include:/opt/HPCKit/24.3.30/hmpi/bisheng/ucg/include”。
- OPAL_PREFIX:Hyper MPI中ompi组件的安装目录,例如“/opt/HPCKit/24.3.30/hmpi/bisheng/ompi”。
回显信息示例:
1 2 3 4
/opt/HPCKit/24.3.30/hmpi/bisheng/ompi/lib:/opt/HPCKit/24.3.30/hmpi/bisheng/ucx/lib:/opt/HPCKit/24.3.30/hmpi/bisheng/ucg/lib:/usr/local/lib /opt/HPCKit/24.3.30/hmpi/bisheng/ompi/bin:/opt/HPCKit/24.3.30/hmpi/bisheng/ucx/bin:/opt/HPCKit/24.3.30/hmpi/bisheng/ucg/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin /opt/HPCKit/24.3.30/hmpi/bisheng/ompi/include:/opt/HPCKit/24.3.30/hmpi/bisheng/ucx/include:/opt/HPCKit/24.3.30/hmpi/bisheng/ucg/include /opt/HPCKit/24.3.30/hmpi/bisheng/ompi
gcc/hmpi/hmpi
echo $LD_LIBRARY_PATH; echo $PATH; echo $INCLUDE; echo $OPAL_PREFIX
说明:环境变量参数含义具体如下:
- LD_LIBRARY_PATH:动态链接库的搜索路径,例如“/opt/HPCKit/24.3.30/hmpi/gcc/ompi/lib:/opt/HPCKit/24.3.30/hmpi/gcc/ucx/lib:/opt/HPCKit/24.3.30/hmpi/gcc/ucg/lib”。
- PATH:可执行程序的搜索路径,例如“/opt/HPCKit/24.3.30/hmpi/gcc/ompi/bin:/opt/HPCKit/24.3.30/hmpi/gcc/ucx/bin:/opt/HPCKit/24.3.30/hmpi/gcc/ucg/bin”。
- INCLUDE:Hyper MPI中ompi、ucx和ucg组件的头文件目录,例如“/opt/HPCKit/24.3.30/hmpi/gcc/ompi/include:/opt/HPCKit/24.3.30/hmpi/gcc/ucx/include:/opt/HPCKit/24.3.30/hmpi/gcc/ucg/include”。
- OPAL_PREFIX:Hyper MPI中ompi组件的安装目录,例如“/opt/HPCKit/24.3.30/hmpi/gcc/ompi”。
回显信息示例:
/opt/HPCKit/24.3.30/hmpi/gcc/ompi/lib:/opt/HPCKit/24.3.30/hmpi/gcc/ucx/lib:/opt/HPCKit/24.3.30/hmpi/gcc/ucg/lib:/usr/local/lib /opt/HPCKit/24.3.30/hmpi/gcc/ompi/bin:/opt/HPCKit/24.3.30/hmpi/gcc/ucx/bin:/opt/HPCKit/24.3.30/hmpi/gcc/ucg/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin /opt/HPCKit/24.3.30/hmpi/gcc/ompi/include:/opt/HPCKit/24.3.30/hmpi/gcc/ucx/include:/opt/HPCKit/24.3.30/hmpi/gcc/ucg/include /opt/HPCKit/24.3.30/hmpi/gcc/ompi
KML
bisheng/kml/kml
echo $LD_LIBRARY_PATH; echo $CPATH; echo INCLUDE
回显信息示例:
1 2 3
/opt/HPCKit/24.3.30/kml/bisheng/lib /opt/HPCKit/24.3.30/kml/bisheng/include /opt/HPCKit/24.3.30/kml/bisheng/include
bisheng/kml/kblas/serial-locking
echo $LD_LIBRARY_PATH; echo $CPATH; echo INCLUDE
回显信息示例:
1 2 3
/opt/HPCKit/24.3.30/kml/bisheng/lib/kblas/locking /opt/HPCKit/24.3.30/kml/bisheng/include /opt/HPCKit/24.3.30/kml/bisheng/include
bisheng/kml/kblas/serial-nolocking
echo $LD_LIBRARY_PATH; echo $CPATH; echo INCLUDE
回显信息示例:
1 2 3
/opt/HPCKit/24.3.30/kml/bisheng/lib/kblas/nolocking /opt/HPCKit/24.3.30/kml/bisheng/include /opt/HPCKit/24.3.30/kml/bisheng/include
bisheng/kml/kblas/omp
echo $LD_LIBRARY_PATH; echo $CPATH; echo INCLUDE
回显信息示例:
1 2 3
/opt/HPCKit/24.3.30/kml/bisheng/lib/kblas/omp /opt/HPCKit/24.3.30/kml/bisheng/include /opt/HPCKit/24.3.30/kml/bisheng/include
bisheng/kml/kblas/pthread
echo $LD_LIBRARY_PATH; echo $CPATH; echo INCLUDE
回显信息示例:
1 2 3
/opt/HPCKit/24.3.30/kml/bisheng/lib/kblas/pthread /opt/HPCKit/24.3.30/kml/bisheng/include /opt/HPCKit/24.3.30/kml/bisheng/include
bisheng/kml/kspblas/omp
echo $LD_LIBRARY_PATH; echo $CPATH; echo INCLUDE
回显信息示例:
1 2 3
/opt/HPCKit/24.3.30/kml/bisheng/lib/kspblas/multi /opt/HPCKit/24.3.30/kml/bisheng/include /opt/HPCKit/24.3.30/kml/bisheng/include
bisheng/kml/kspblas/serial
echo $LD_LIBRARY_PATH; echo $CPATH; echo INCLUDE
回显信息示例:
1 2 3
/opt/HPCKit/24.3.30/kml/bisheng/lib/kspblas/single /opt/HPCKit/24.3.30/kml/bisheng/include /opt/HPCKit/24.3.30/kml/bisheng/include
bisheng/kml/kvml/omp
echo $LD_LIBRARY_PATH; echo $CPATH; echo INCLUDE
回显信息示例:
1 2 3
/opt/HPCKit/24.3.30/kml/bisheng/lib/kvml/multi /opt/HPCKit/24.3.30/kml/bisheng/include /opt/HPCKit/24.3.30/kml/bisheng/include
bisheng/kml/kvml/serial
echo $LD_LIBRARY_PATH; echo $CPATH; echo INCLUDE
回显信息示例:
1 2 3
/opt/HPCKit/24.3.30/kml/bisheng/lib/kvml/single /opt/HPCKit/24.3.30/kml/bisheng/include /opt/HPCKit/24.3.30/kml/bisheng/include
gcc/kml/kml
echo $LD_LIBRARY_PATH; echo $CPATH; echo INCLUDE
回显信息示例:
1 2 3
/opt/HPCKit/24.3.30/kml/gcc/lib /opt/HPCKit/24.3.30/kml/gcc/include /opt/HPCKit/24.3.30/kml/gcc/include
gcc/kml/kblas/serial-locking
echo $LD_LIBRARY_PATH; echo $CPATH; echo INCLUDE
回显信息示例:
1 2 3
/opt/HPCKit/24.3.30/kml/gcc/lib/kblas/locking /opt/HPCKit/24.3.30/kml/gcc/include /opt/HPCKit/24.3.30/kml/gcc/include
gcc/kml/kblas/serial-nolocking
echo $LD_LIBRARY_PATH; echo $CPATH; echo INCLUDE
回显信息示例:
1 2 3
/opt/HPCKit/24.3.30/kml/gcc/lib/kblas/nolocking /opt/HPCKit/24.3.30/kml/gcc/include /opt/HPCKit/24.3.30/kml/gcc/include
gcc/kml/kblas/omp
echo $LD_LIBRARY_PATH; echo $CPATH; echo INCLUDE
回显信息示例:
1 2 3
/opt/HPCKit/24.3.30/kml/gcc/lib/kblas/omp /opt/HPCKit/24.3.30/kml/gcc/include /opt/HPCKit/24.3.30/kml/gcc/include
gcc/kml/kblas/pthread
echo $LD_LIBRARY_PATH; echo $CPATH; echo INCLUDE
回显信息示例:
1 2 3
/opt/HPCKit/24.3.30/kml/gcc/lib/kblas/pthread /opt/HPCKit/24.3.30/kml/gcc/include /opt/HPCKit/24.3.30/kml/gcc/include
gcc/kml/kspblas/omp
echo $LD_LIBRARY_PATH; echo $CPATH; echo INCLUDE
回显信息示例:
1 2 3
/opt/HPCKit/24.3.30/kml/gcc/lib/kspblas/multi /opt/HPCKit/24.3.30/kml/gcc/include /opt/HPCKit/24.3.30/kml/gcc/include
gcc/kml/kspblas/serial
echo $LD_LIBRARY_PATH; echo $CPATH; echo INCLUDE
回显信息示例:
1 2 3
/opt/HPCKit/24.3.30/kml/gcc/lib/kspblas/single /opt/HPCKit/24.3.30/kml/gcc/include /opt/HPCKit/24.3.30/kml/gcc/include
gcc/kml/kvml/omp
echo $LD_LIBRARY_PATH; echo $CPATH; echo INCLUDE
回显信息示例:
1 2 3
/opt/HPCKit/24.3.30/kml/gcc/lib/kvml/multi /opt/HPCKit/24.3.30/kml/gcc/include /opt/HPCKit/24.3.30/kml/gcc/include
gcc/kml/kvml/serial
echo $LD_LIBRARY_PATH; echo $CPATH; echo INCLUDE
回显信息示例:
1 2 3
/opt/HPCKit/24.3.30/kml/gcc/lib/kvml/single /opt/HPCKit/24.3.30/kml/gcc/include /opt/HPCKit/24.3.30/kml/gcc/include
在回显信息中,查看已加载模块的环境信息变量是否均存在。