---
title: 设置环境变量（setvars.sh方式）
description: "setvars.sh方式支持全量加载指定编译器对应组件的环境变量模块。"
url: https://www.hikunpeng.com/document/detail/zh/hpchistory/hpckit/install240RC2/KunpengHPCKit_install_015.html
sourcePath: /source/zh/hpchistory/hpckit/install240RC2/KunpengHPCKit_install_015.html
indexId: 3ce27efced80aec99b9733c0c7e036c5f2f0952ad2b1991ab198acaa86a8acbe73
---
# 设置环境变量（setvars.sh方式）

setvars.sh方式支持全量加载指定编译器对应组件的环境变量模块。

#### 操作步骤

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

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

3. 执行以下命令，配置环境变量信息。
  source setvars.sh 参数名称

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

**表1 参数介绍**

| 参数名称 | 参数值 | 说明 |
| --- | --- | --- |
| \-\-use\-bisheng | 不涉及 | 添加该参数，添加已安装组件bisheng版本的相关信息到环境变量中。 |
| \-\-force | 不涉及 | 配置该参数，可以强制执行setvars.sh。 说明： 如果之前已经执行过setvars.sh，再次执行会提示setvars.sh已经执行过。 |
| \-\-kml\_kblas | locking | 添加组件KML子库kblas单线程加锁动态库路径到环境变量LD\_LIBRARY\_PATH中。 |
| \-\-kml\_kblas | nolocking | 添加组件KML子库kblas单线程不加锁动态库路径到环境变量LD\_LIBRARY\_PATH中。 |
| \-\-kml\_kblas | omp | 添加组件KML子库kblas OpenMP实现多线程动态库路径到环境变量LD\_LIBRARY\_PATH中。 |
| \-\-kml\_kblas | pthread（默认值） | 添加组件KML子库kblas pthread实现多线程动态库路径到环境变量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\_kblas和\-\-kml\_kspblas。 |
| \-\-kml\_kvml | single（默认值） | 添加组件KML子库kvml单线程动态库路径到环境变量LD\_LIBRARY\_PATH中。 |
| \-\-help | 不涉及 | 查看“source setvars.sh 参数名称”命令的使用说明。 |


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

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

  - 使用毕昇编译器编译组件时
    echo $LD_LIBRARY_PATH; echo $PATH; echo $CPATH; echo $INCLUDE; echo $OPAL_PREFIX; echo $CC; echo $CXX; echo $FC; echo $F77; echo $F90; $HIO_HOME

    环境变量参数含义具体如下： LD_LIBRARY_PATH：动态链接库的搜索路径。 PATH：可执行程序的搜索路径。 CPATH：KML组件的头文件路径。 INCLUDE：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组件安装路径。

    回显信息示例：

```
/opt/HPCKit/24.6.30/kpccl/bisheng/lib:/opt/HPCKit/24.6.30/kml/bisheng/lib/kvml/single:/opt/HPCKit/24.6.30/kml/bisheng/lib/kspblas/multi:/opt/HPCKit/24.6.30/kml/bisheng/lib/kblas/pthread:/opt/HPCKit/24.6.30/kml/bisheng/lib:/opt/HPCKit/24.6.30/hmpi/bisheng/hmpi/lib:/opt/HPCKit/24.6.30/hmpi/bisheng/hucx/lib:/opt/HPCKit/24.6.30/hmpi/bisheng/xucg/lib:/opt/HPCKit/24.6.30/compiler/bisheng/lib
:/usr/local/lib
/opt/HPCKit/24.6.30/hmpi/bisheng/hmpi/bin:/opt/HPCKit/24.6.30/hmpi/bisheng/hucx/bin:/opt/HPCKit/24.6.30/hmpi/bisheng/xucg/bin:/opt/HPCKit/24.6.30/compiler/bisheng/bin
:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
/opt/HPCKit/24.6.30/kpccl/bisheng/include:/opt/HPCKit/24.6.30/kml/bisheng/include:
/opt/HPCKit/24.6.30/kpccl/bisheng/include/opt/HPCKit/24.6.30/kml/bisheng/include:/opt/HPCKit/24.6.30/hmpi/bisheng/hmpi/include:/opt/HPCKit/24.6.30/hmpi/bisheng/hucx/include:/opt/HPCKit/24.6.30/hmpi/bisheng/xucg/include:
/opt/HPCKit/24.6.30/hmpi/bisheng/hmpi
clang
clang++
flang
flang
flang
/opt/HPCKit/24.6.30/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; $HIO_HOME

    环境变量参数含义具体如下： LD_LIBRARY_PATH：动态链接库的搜索路径。 PATH：可执行程序的搜索路径。 CPATH：KML组件的头文件路径。 INCLUDE：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组件安装路径。

    回显信息示例：

```
/opt/HPCKit/24.6.30/kpccl/gcc/lib:/opt/HPCKit/24.6.30/kml/gcc/lib/kvml/single:/opt/HPCKit/24.6.30/kml/gcc/lib/kspblas/multi:/opt/HPCKit/24.6.30/kml/gcc/lib/kblas/pthread:/opt/HPCKit/24.6.30/kml/gcc/lib:/opt/HPCKit/24.6.30/hmpi/gcc/hmpi/lib:/opt/HPCKit/24.6.30/hmpi/gcc/hucx/lib:/opt/HPCKit/24.6.30/hmpi/gcc/xucg/lib:/opt/HPCKit/24.6.30/compiler/gcc/lib64
:/usr/local/lib
/opt/HPCKit/24.6.30/hmpi/gcc/hmpi/bin:/opt/HPCKit/24.6.30/hmpi/gcc/hucx/bin:/opt/HPCKit/24.6.30/hmpi/gcc/xucg/bin:/opt/HPCKit/24.6.30/compiler/gcc/bin
:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
/opt/HPCKit/24.6.30/kpccl/gcc/include:/opt/HPCKit/24.6.30/kml/gcc/include:
/opt/HPCKit/24.6.30/kpccl/gcc/include:/opt/HPCKit/24.6.30/kml/gcc/include:
/opt/HPCKit/24.6.30/hmpi/gcc/hmpi/include:/opt/HPCKit/24.6.30/hmpi/gcc/hucx/include:/opt/HPCKit/24.6.30/hmpi/gcc/xucg/include:
/opt/HPCKit/24.6.30/hmpi/gcc/hmpi
gcc
g++
gfortran
gfortran
gfortran
/opt/HPCKit/24.6.30/hio
```
