鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

使用KUPL API进行并行计算加速

KUPL当前对外优化特性分为三大模块,具体为众核并行、数据管理和矩阵编程:

  • 一:众核并行模块对外提供了包含egroup、多线程编程、计算图编程、多队列多流编程等KUPL API用以多线程并行计算加速;
  • 二:数据管理模块对外提供了包含内存管理、共享内存通信等KUPL API用以数据拷贝或通信加速;
  • 三:矩阵编程模块对外提供了张量定义、张量计算等KUPL API用以加速矩阵乘计算。

具体上述KUPL特性模块的优化使能方式,可以参考KUPL sample代码仓

KUPL sample代码仓中提供了一组使用KUPL优化特性的示例代码及特定场景KUPL最优实现代码,从而供用户快速上手使能KUPL特性。

KUPL sample的根目录包含4个顶层目录,分别对应众核并行模块、数据管理模块、矩阵编程模块及KUPL综合用例,每个模块的顶层目录再包含模块对应重点特性的用例目录,最终用例目录下挂载具体特性用例的sample代码、makefile及readme说明介绍。具体sample运行方式如下。

  1. 节点上安装HPCkit,HPCKit安装指导请参见《Kunpeng HPCKit 25.1.0 安装指南》
  2. KUPL sample所需要环境变量的加载。
    1. 加载HPCKit module环境变量。

      module use /path/to/HPCKit/latest/modulefiles

    2. 加载bisheng编译器环境变量。

      module load bisheng/compiler4.2.0.2/bishengmodule

    3. 加载hmpi环境变量。

      module load bisheng/hmpi25.1.0/release

    4. 加载KUPL环境变量。

      module load bisheng/kupl25.1.0/release

  3. Git拉取KUPL sample代码仓代码至本地服务器上。

    git clone https://gitee.com/openeuler/kupl-sample.git

  4. 编译运行KUPL sample代码仓代码,当前支持两种方式:
    • 一键式全量编译安装。
      1. KUPL-sample根目录下执行sh build.sh,在所有特性的目录下生成对应特性的可执行二进制。
      2. 根目录下执行如cd mt/graph/到KUPL某一具体特性的目录下。
      3. 执行make run运行生成的二进制得到运行结果。
    • 按需编译安装。
      1. 根目录下执行如cd mt/graph/到KUPL某一具体特性的目录下。
      2. 执行make指令编译生成该特性对应的二进制文件。
      3. 执行make run指令运行生成的二进制得到运行结果。