---
title: 安装HIO桥接目标库
description: "HIO通过桥接目标库来实现应用加速，目前支持加速的应用如表1所示。为了确保实现HIO加速应用，请按照表1选择安装应用运行所需的HIO桥接目标库。"
url: https://www.hikunpeng.com/document/detail/zh/hpchistory/hpckit/install240RC2/KunpengHPCKit_install_020.html
sourcePath: /source/zh/hpchistory/hpckit/install240RC2/KunpengHPCKit_install_020.html
indexId: a26efbd9ac2bc0b8efdac65c8b51d17081135faf2d032e5c2abe03792c2940df73
---
# 安装HIO桥接目标库

HIO通过桥接目标库来实现应用加速，目前支持加速的应用如表1所示。为了确保实现HIO加速应用，请按照表1选择安装应用运行所需的HIO桥接目标库。
**表1 应用版本和目标库映射关系**

| 应用名称 | 版本 | HIO桥接目标库 |
| --- | --- | --- |
| WRF | 4.2.2版本 | libpnetcdf.so |
| NEMO | 版本30Nov20 | libnetcdf.so |
| Grapes | CMA\_GFS\_3.3版本3.3 CMA\_MESO版本5.1 | libmpi.so |
| LAMMPS | 4.2版本 | libhdf5.so或libpnetcdf.so |
| QE | 6.4.1版本 | libhdf5.so |


#### 安装libhdf5.so

1. 下载hdf5源码压缩包hdf5-1.12.3.tar.gz(https://hdf-wordpress-1.s3.amazonaws.com/wp-content/uploads/manual/HDF5/HDF5_1_12_3/src/hdf5-1.12.3.tar.gz)。
2. 使用SFTP工具将hdf5-1.12.3.tar.gz上传服务器，执行以下命令解压。
  tar zxf hdf5-1.12.3.tar.gz

3. 编译安装。

  a. 执行以下命令进入hdf5源码目录并创建build目录。
    cd hdf5-1.12.3

    mkdir build

  b. 执行配置操作。
    cd build

    ../configure --prefix=/path/to/hdf5-install

    /path/to/hdf5-install表示libhdf5.so的安装目录，建议与2中的目录区分开。

  c. 执行以下命令编译。
    make -j

  d. 执行以下命令安装。
    make install

4. 执行以下命令检查安装目录确认是否包含hdf5动态库。
  ls /path/to/hdf5-install/lib

  回显如下说明安装目录下已经存在hdf5动态库，表示安装成功。

```
libhdf5.a  libhdf5_hl.a  libhdf5_hl.la  libhdf5_hl.so  libhdf5_hl.so.200  libhdf5_hl.so.200.1.1  libhdf5.la  libhdf5.settings  libhdf5.so  libhdf5.so.200  libhdf5.so.200.3.0
```


#### 安装libnetcdf.so

1. 下载NetCDF源码压缩包netcdf-c-4.9.2.tar.gz(https://downloads.unidata.ucar.edu/netcdf-c/4.9.2/netcdf-c-4.9.2.tar.gz)。
2. 使用SFTP工具将netcdf-c-4.9.2.tar.gz上传服务器，执行以下命令解压。
  tar zxf netcdf-c-4.9.2.tar.gz

3. 编译安装。

  a. 执行以下命令进入NetCDF源码目录并创建build目录。
    cd netcdf-c-4.9.2

    mkdir build

  b. 执行配置操作。
    cd build

    ../configure --prefix=/path/to/netcdf-install

    /path/to/netcdf-install表示libnetcdf.so的安装目录，建议与2中的目录区分开

  c. 执行以下命令编译。
    make -j

  d. 执行以下命令安装。
    make install

4. 执行以下命令检查安装目录确认是否包含NetCDF动态库。
  ls /path/to/netcdf-install/lib

  回显如下说明安装目录下已经存在NetCDF相关动态库，表示安装成功。

```
libnetcdf.a  libnetcdf.la  libnetcdf.settings  libnetcdf.so  libnetcdf.so.19  libnetcdf.so.19.2.2  pkgconfig
```


#### 安装libpnetcdf.so

1. 下载PnetCDF源码压缩包pnetcdf-1.12.1.tar.gz(https://parallel-netcdf.github.io/Release/pnetcdf-1.12.1.tar.gz)。
2. 使用SFTP工具将pnetcdf-1.12.1.tar.gz上传服务器，执行以下命令解压。
  tar zxf pnetcdf-1.12.1.tar.gz

3. 编译安装。

  a. 进入PnetCDF源码目录并创建build目录。
    cd pnetcdf-1.12.1

    mkdir build

  b. 执行配置操作。
    cd build

    export MPICC=/opt/HPCKit/latest/hmpi/gcc/hmpi/bin/mpicc

    ../configure --prefix=/path/to/pnetcdf-install --enable-shared

    /path/to/pnetcdf-install表示libpnetcdf.so的安装目录，建议与2中的目录区分开。 /opt/HPCKit表示HPCKit安装目录。

  c. 执行以下命令编译。
    make -j

  d. 执行以下命令安装。
    make install

4. 执行以下命令检查安装目录确认是否包含PnetCDF动态库。
  ls /path/to/pnetcdf-install/lib

  回显如下说明安装目录下已经存在PnetCDF相关动态库，表示安装成功。

```
libpnetcdf.a  libpnetcdf.la  libpnetcdf.so  libpnetcdf.so.4  libpnetcdf.so.4.0.1  pkgconfig
```


#### 配置HIO桥目标接库的环境变量

- 如果HIO桥接目标库在usr/lib64下已存在，则不用配置环境变量，其他情况都需要配置环境变量。
- 如果多个桥接库不在同一目录下，需要对每个桥接库分别配置环境变量。
- 以下通过为LD_LIBRARY_PATH配置libpnetcdf.so的环境变为例说明。
- 用find命令查找HIO桥接目标库所在目录，将该目录配置到环境变量。


- 仅对当前会话生效：
  export LD_LIBRARY_PATH=/path/to/pnetcdf-install/lib:$LD_LIBRARY_PATH

- 对当前用户生效：

  1. 执行以下命令，进入~/.bashrc文件。
    vim ~/.bashrc

  2. 按“i”进入编辑模式，在文件~/.bashrc末尾增加如下命令行。
    export LD_LIBRARY_PATH=/path/to/pnetcdf-install/lib:$LD_LIBRARY_PATH

  3. 按“ESC”退出编辑模式，然后输入":wq!"保存并退出。
  4. 执行以下命令，使配置立即生效。
    source ~/.bashrc
