硬件不可知 (GPU/CPU) 稀疏线性代数 C++ 求解器框架/技术

问题描述

我正在寻找有关针对线性稀疏代数问题的成熟 C++ 求解器的建议。 目标是在或多或少的 GPU 硬件不可知库/框架之间进行选择,这些库/框架可以在 Linux 和 Windows 上编译,并对主机设备内存进行相当高的控制。 我目前的研究范围缩小到以下候选者:

  • CUDA - 成熟,超越 BLAS,跨平台,仅在 NVIDIA 上运行
  • OpenCL - 成熟的 CUDA 的竞争对手
  • HIP - 不太成熟,但从 CUDA 中挑选了很多,也可以在 NVIDIA 和 AMD 上运行,在 OpenCL 和 CUDA 之间移植没有成本
  • Intel One API (DPC++) - 实现 SYCL,现在似乎只是 MKL/LAPACK 包装器,不确定它如何与 GPU 系统配合使用,因为 MKL 更以 cpu 为中心 - 似乎不成熟
  • Magma - 成熟,看起来像是 CUDA 的主要竞争对手,较小的社区

我即将开始使用 CUDA,因为它在工具包中有很多示例,然后可能会迁移到 HIP(使用 hipify)或英特尔的 DPC++ SYCL guide

您是否有可以帮助我挑战这些考虑的链接/文章

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)