jjc*_*mar 10 amd-gpu hip sycl intel-oneapi
我是一名 GPGPU 开发人员,我使用 CUDA 完成了所有工作。最近,我为我的家庭设置购买了 AMD GPU,并且我一直在阅读有关 SYCL 和 oneAPI 的文章,但我不确定我是否理解它们是什么,它们是如何互补的。如果我理解正确的话,SYCL 是 Khronos 开发的一个标准,它允许在 C++ 中创建并行软件。它需要一个由 SYCL 实现提供的自定义工具链,并且存在多个实现。
另一方面,oneAPI 是 SYCL 的一个实现,带有一些额外的扩展(将来可能会添加到 SYCL 标准中)和一些带有典型并行库的库,对吗?
因为我有一个AMD GPU,我想用它来做一些GPGPU,但生态系统有点吓人。我们有台面驱动程序、AMD 驱动程序、不同的 openCL 实现、HIP ……这一切是如何组合在一起的?
Rod*_*rns 13
SYCL - 这是 Khronos 的开放标准,有效地为开发人员定义了一个接口,用于对包括 GPU 和其他高性能处理器在内的异构架构进行编程。有几种 SYCL 实现(在此处列出),其优点在于您可以使用 SYCL 编写代码,并且它可以跨不同的编译器实现工作,这意味着您可以针对各种处理器。该图在显示这些以及它们支持的硬件方面非常有用。每个实现都将指导您了解您需要哪些驱动程序。
oneAPI - 这是由英特尔领导的一项倡议,其中包括DPC++,SYCL 实现之一。您可以将它与 Intel 处理器一起使用,并且有对 Nvidia GPU 的实验性支持。
如果您有 AMD 硬件,我建议您探索使用 hip 将并行指令卸载到 AMD 处理器的 hipSYCL 实现。
最终所有这些都只使用 SYCL 代码,并且一些实现添加了特定的扩展,这些扩展将最终出现在 SYCL 规范的下一个版本中,或者是为特定硬件上的特定功能而设计的。
归档时间: |
|
查看次数: |
1781 次 |
最近记录: |