kokkos/kokkos-kernels

Kokkos C++ Performance Portability Programming Ecosystem: Math Kernels - Provides BLAS, Sparse BLAS and Graph Kernels

解决的问题

Kokkos Kernels 提供了一组高性能、可移植的线性代数和图操作数学内核。它解决了编写复杂计算内核(如稀疏矩阵乘法)的问题,这些内核可以在不同硬件架构上高效运行,而无需为每个特定设备重写代码。

工作原理

基于 Kokkos 共享内存并行编程模型构建,该库实现了“本地”计算内核——即在单个 MPI 进程内或完全不使用 MPI 的情况下运行。它将公共接口与内部实现分离,允许对模板参数进行完全特化。这种方法通过为特定数据类型预编译内核,减少了构建时间并提高了编译器优化效果。

适用对象

专为并行线性代数库(如 Tpetra)的开发者或需要在共享内存系统上进行高性能数学运算的应用开发者设计。

主要亮点

  • 线性代数支持:包括点积、范数、AXPY 类型的向量更新,以及稀疏矩阵-向量/矩阵-矩阵乘法。
  • 图操作:提供图着色和带着色的高斯-赛德尔算法内核。
  • 性能可移植性:利用 Kokkos 确保代码在各种硬件后端上高效运行。
  • 灵活集成:可作为独立库使用,也可作为更大并行框架的构建模块。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目