微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决硬件不可知 (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 举报,一经查实,本站将立刻删除。