---
title: 设置环境变量（setvars.sh方式）
description: "HPCKit支持通过setvars.sh和modules两种方式加载环境变量。setvars.sh方式支持全量加载指定编译器对应组件的环境变量模块，推荐使用setvars.sh方式一键加载全量组件。"
url: https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpckit/instg/KunpengHPCKit_install_015.html
sourcePath: /source/zh/kunpenghpcs/hpckit/instg/KunpengHPCKit_install_015.html
indexId: 1b2c5295713f8290368971f68d43d2973351dd941aae15302f5a29f83f223bba66
---
# 设置环境变量（setvars.sh方式）

HPCKit支持通过setvars.sh和modules两种方式加载环境变量。setvars.sh方式支持全量加载指定编译器对应组件的环境变量模块，推荐使用setvars.sh方式一键加载全量组件。

#### 操作步骤

1. 使用PuTTY工具，登录HPCKit的安装节点。
2. 执行以下命令，进入HPCKit安装目录。

```
cd
/opt
/HPCKit/latest
```


  /opt：HPCKit的默认安装目录，请替换为实际路径。

3. 执行以下命令，配置环境变量信息。

```
source setvars.sh
参数名称
```


  该命令默认配置bisheng版本组件的环境变量信息。 参数名称为可选，具体请参见表1。

**表1 参数介绍**

| 参数名称 | 参数值 | 说明 |
| --- | --- | --- |
| \-\-use\-gcc | 不涉及 | 添加该参数，可指定配置gcc版本组件的环境变量信息。 |
| \-\-kml\_kblas | locking | 添加组件KML子库kblas单线程加锁动态库路径到环境变量LD\_LIBRARY\_PATH中。 |
| \-\-kml\_kblas | nolocking | 添加组件KML子库kblas单线程不加锁动态库路径到环境变量LD\_LIBRARY\_PATH中。 |
| \-\-kml\_kblas | multi（默认值） | 添加组件KML子库kblas multi实现多线程动态库路径到环境变量LD\_LIBRARY\_PATH中。 |
| \-\-kml\_kspblas | multi（默认值） | 添加组件KML子库kspblas多线程动态库路径到环境变量LD\_LIBRARY\_PATH中。 |
| \-\-kml\_kspblas | single | 添加组件KML子库kspblas单线程动态库路径到环境变量LD\_LIBRARY\_PATH中。 |
| \-\-kml\_kvml | multi | 添加组件KML子库kvml多线程动态库路径到环境变量LD\_LIBRARY\_PATH中。 |
| \-\-kml\_kvml | single（默认值） | 添加组件KML子库kvml单线程动态库路径到环境变量LD\_LIBRARY\_PATH中。 |
| \-\-hmpi\_mode | release(默认值) | 添加组件hmpi发布版的组件安装目录、头文件、库和动态库路径到环境变量OPAL\_PREFIX、INCLUDE、LIBRARY\_PATH、LD\_LIBRARY\_PATH中。 |
| \-\-hmpi\_mode | debug | 添加组件hmpi的debug版的组件安装目录、头文件、库和动态库路径到环境变量OPAL\_PREFIX、INCLUDE、LIBRARY\_PATH、LD\_LIBRARY\_PATH中。 |
| \-\-kupl\_mode | release（默认值） | 添加组件kupl发布版C库、库和动态库路径到环境变量CPATH、LIBRARY\_PATH、LD\_LIBRARY\_PATH中。 |
| \-\-kupl\_mode | prof | 添加组件kupl的profile版的C库、库和动态库路径到环境变量CPATH、LIBRARY\_PATH、LD\_LIBRARY\_PATH中。 |
| \-\-reset | 不涉及 | 取消通过setvars.sh添加的环境变量。 |
| \-\-help | 不涉及 | 查看“source setvars.sh参数名称”命令的使用说明。 |


  每次执行source setvars.sh命令时，kml_kblas、kml_kspblas和kml_kvml值都会被重置为该参数的默认值（见表1），如果该参数需要保持原来的非默认值，需同时修改参数值。举例如下。 由毕昇编译器切换为gcc时，如果需要使kml_kblas的非默认值保持不变，例如仍为locking，执行以下命令。 source setvars.sh --use-gcc --kml_kblas=locking 仅修改kml_kblas、kml_kspblas和kml_kvml中的一个参数时，另外两个参数如需保持原来的非默认值，需要同时修改，执行以下命令。 source setvars.sh --kml_kvml=multi --kml_kspblas=single 当source setvars.sh命令中，对同一个参数多次赋值，则取最后一次的值，例如以下命令中kml_kblas最终取值为nolocking。 source setvars.sh --use-gcc --kml_kblas=multi --kml_kblas=nolocking

4. 执行以下命令，查询环境变量信息。

  - 使用毕昇编译器编译组件时

```
echo $LD_LIBRARY_PATH; echo $PATH; echo $CPATH; echo $INCLUDE; echo $OPAL_PREFIX; echo $CC; echo $CXX; echo $FC; echo $F77; echo $F90;echo
$HIO_HOME
```


    环境变量参数含义具体如下： LD_LIBRARY_PATH：动态链接库的搜索路径。 PATH：可执行程序的搜索路径。 CPATH：KML、KuTACC、KuRTM、KuQCD、KUPL、KuLitho、KuDNN组件的头文件路径。 INCLUDE：KuTACC、KuRTM、KuQCD、KUPL、KuLitho、KuDNN、Hyper MPI中hmpi、hucx和xucg组件的头文件路径，以及KML组件的头文件路径。 OPAL_PREFIX：Hyper MPI中hmpi组件的安装目录。 CC：编译C语言程序的编译器名称，值为clang。 CXX：编译C++程序的编译器名称，值为clang++。 FC：编译Fortran程序的编译器名称，值为flang。 F77：编译Fortran77程序的编译器名称，值为flang。 F90：编译Fortran90程序的编译器名称，值为flang。 HIO_HOME：HIO组件安装路径。

    回显信息示例：

    1 2 3 4 5 6 7 8 9 10 11 /opt/HPCKit/26.1.RC1/kutacc/bisheng/lib:/opt/HPCKit/26.1.RC1/kurtm/bisheng/lib:/opt/HPCKit/26.1.RC1/kupl/bisheng/release/lib:/opt/HPCKit/26.1.RC1/kudnn/bisheng/lib:/opt/HPCKit/26.1.RC1/kuqcd/bisheng/lib:/opt/HPCKit/26.1.RC1/kml/bisheng/lib/neon:/opt/HPCKit/26.1.RC1/kml/bisheng/lib/noarch:/opt/HPCKit/26.1.RC1/kml/bisheng/lib/noarch/kvml/single:/opt/HPCKit/26.1.RC1/kml/bisheng/lib/neon/kspblas/multi:/opt/HPCKit/26.1.RC1/kml/bisheng/lib/neon/kblas/multi:/opt/HPCKit/26.1.RC1/kml/bisheng/lib:/opt/HPCKit/26.1.RC1/hmpi/bisheng/release/hmpi/lib:/opt/HPCKit/26.1.RC1/hmpi/bisheng/release/hucx/lib:/opt/HPCKit/26.1.RC1/hmpi/bisheng/release/xucg/lib:/opt/HPCKit/26.1.RC1/compiler/bisheng/lib: /opt/HPCKit/26.1.RC1/hmpi/bisheng/release/hmpi/bin:/opt/HPCKit/26.1.RC1/hmpi/bisheng/release/hucx/bin:/opt/HPCKit/26.1.RC1/hmpi/bisheng/release/xucg/bin:/opt/HPCKit/26.1.RC1/compiler/bisheng/bin:/usr/share/Modules/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin /opt/HPCKit/26.1.RC1/kutacc/bisheng/include:/opt/HPCKit/26.1.RC1/kurtm/bisheng/include:/opt/HPCKit/26.1.RC1/kupl/bisheng/release/include:/opt/HPCKit/26.1.RC1/kudnn/bisheng/include:/opt/HPCKit/26.1.RC1/kuqcd/bisheng/include:/opt/HPCKit/26.1.RC1/kml/bisheng/include: /opt/HPCKit/26.1.RC1/kutacc/bisheng/include:/opt/HPCKit/26.1.RC1/kurtm/bisheng/include:/opt/HPCKit/26.1.RC1/kupl/bisheng/release/include:/opt/HPCKit/26.1.RC1/kudnn/bisheng/include:/opt/HPCKit/26.1.RC1/kuqcd/bisheng/include:/opt/HPCKit/26.1.RC1/kml/bisheng/include:/opt/HPCKit/26.1.RC1/hmpi/bisheng/release/hmpi/include:/opt/HPCKit/26.1.RC1/hmpi/bisheng/release/hucx/include:/opt/HPCKit/26.1.RC1/hmpi/bisheng/release/xucg/include: /opt/HPCKit/26.1.RC1/hmpi/bisheng/release/hmpi clang clang++ flang flang flang /opt/HPCKit/26.1.RC1/hio

  - 使用GCC编译器编译组件时

```
echo $LD_LIBRARY_PATH; echo $PATH; echo $CPATH; echo $INCLUDE; echo $OPAL_PREFIX; echo $CC; echo $CXX; echo $FC; echo $F77; echo $F90
; echo $HIO_HOME
```


    环境变量参数含义具体如下： LD_LIBRARY_PATH：动态链接库的搜索路径。 PATH：可执行程序的搜索路径。 CPATH：KML、KuRTM、KuQCD、KUPL、KuLitho、KuDNN组件的头文件路径。 INCLUDE：KuRTM、KuQCD、KUPL、KuLitho、KuDNN、Hyper MPI中hmpi、hucx和xucg组件的头文件路径，以及KML组件的头文件路径。 OPAL_PREFIX：Hyper MPI中hmpi组件的安装目录。 CC：编译C语言程序的编译器名称，值为gcc。 CXX：编译C++程序的编译器名称，值为g++。 FC：编译Fortran程序的编译器名称，值为gfortran。 F77：编译Fortran77程序的编译器名称，值为gfortran。 F90：编译Fortran90程序的编译器名称，值为gfortran。 HIO_HOME：HIO组件安装路径。

    回显信息示例：

    1 2 3 4 5 6 7 8 9 10 11 /opt/HPCKit/26.1.RC1/kurtm/gcc/lib:/opt/HPCKit/26.1.RC1/kupl/gcc/release/lib:/opt/HPCKit/26.1.RC1/kudnn/gcc/lib:/opt/HPCKit/26.1.RC1/kuqcd/gcc/lib:/opt/HPCKit/26.1.RC1/kuqcd/gcc/lib:/opt/HPCKit/26.1.RC1/kml/gcc/lib/neon:/opt/HPCKit/26.1.RC1/kml/gcc/lib/noarch:/opt/HPCKit/26.1.RC1/kml/gcc/lib/noarch/kvml/single:/opt/HPCKit/26.1.RC1/kml/gcc/lib/neon/kspblas/multi:/opt/HPCKit/26.1.RC1/kml/gcc/lib/neon/kblas/multi:/opt/HPCKit/26.1.RC1/kml/gcc/lib:/opt/HPCKit/26.1.RC1/hmpi/gcc/release/hmpi/lib:/opt/HPCKit/26.1.RC1/hmpi/gcc/release/hucx/lib:/opt/HPCKit/26.1.RC1/hmpi/gcc/release/xucg/lib:/opt/HPCKit/26.1.RC1/compiler/gcc/lib64:/opt/HPCKit/26.1.RC1/compiler/gcc/lib64_public: /opt/HPCKit/26.1.RC1/hmpi/gcc/release/hmpi/bin:/opt/HPCKit/26.1.RC1/hmpi/gcc/release/hucx/bin:/opt/HPCKit/26.1.RC1/hmpi/gcc/release/xucg/bin:/opt/HPCKit/26.1.RC1/compiler/gcc/bin:/usr/share/Modules/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin /opt/HPCKit/26.1.RC1/kurtm/gcc/include:/opt/HPCKit/26.1.RC1/kupl/gcc/release/include:/opt/HPCKit/26.1.RC1/kudnn/gcc/include:/opt/HPCKit/26.1.RC1/kuqcd/gcc/include:/opt/HPCKit/26.1.RC1/kml/gcc/include: /opt/HPCKit/26.1.RC1/kurtm/gcc/include:/opt/HPCKit/26.1.RC1/kupl/gcc/release/include:/opt/HPCKit/26.1.RC1/kudnn/gcc/include:/opt/HPCKit/26.1.RC1/kuqcd/gcc/include:/opt/HPCKit/26.1.RC1/kml/gcc/include:/opt/HPCKit/26.1.RC1/hmpi/gcc/release/hmpi/include:/opt/HPCKit/26.1.RC1/hmpi/gcc/release/hucx/include:/opt/HPCKit/26.1.RC1/hmpi/gcc/release/xucg/include: /opt/HPCKit/26.1.RC1/hmpi/gcc/release/hmpi gcc g++ gfortran gfortran gfortran /opt/HPCKit/26.1.RC1/hio
