首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >了解AMD GPU中的oneAPI和SYCL

了解AMD GPU中的oneAPI和SYCL
EN

Stack Overflow用户
提问于 2020-08-17 18:52:51
回答 2查看 2.2K关注 0票数 13

我是一名GPGPU开发人员,我使用CUDA完成了所有的工作。最近,我在家里买了一台AMD GPU,我一直在读关于SYCL和oneAPI的文章,但我不确定我是否理解了它们各自是什么,它们是如何补充的。如果我没理解错的话,SYCL是由Khronos开发的一个标准,它允许用C++创建并行软件。它需要一个由SYCL实现提供的自定义工具链,并且存在多个实现。

另一方面,oneAPI是SYCL的一个实现,带有一些额外的扩展(将来可能会添加到SYCL标准中)和一些具有典型并行库的库,对吧?

因为我有一个AMD GPU,我想用它来做一些GPGPU,但是它的生态系统有点可怕。我们有mesa驱动程序,AMD驱动程序,不同的openCL实现,HIP...这一切是如何组合在一起的呢?

EN

回答 2

Stack Overflow用户

发布于 2020-08-18 20:15:05

SYCL -这是一个来自Khronos的开放标准,它有效地为开发人员定义了一个接口,用于编程包括GPU和其他高性能处理器的异构架构。有几种SYCL实现(listed here),其美妙之处在于您可以使用SYCL编写代码,并且它将跨不同的编译器实现工作,这意味着您可以面向广泛的处理器。在显示这些以及它们支持的硬件方面,This diagram非常有用。每个实现都将指导您需要哪些驱动程序。

oneAPI -这是一个由英特尔领导的首创项目,其中包括DPC++,它是SYCL的实现之一。您可以将其用于英特尔处理器,并且有对Nvidia GPU的实验性支持。

如果你有AMD硬件,我建议探索hipSYCL实现,它使用hip将并行指令卸载到AMD处理器上。

归根结底,所有这些都只使用SYCL代码,并且一些实现已经添加了特定的扩展,这些扩展将在下一个版本的SYCL规范中结束,或者已经为特定硬件上的特定功能而设计。

票数 13
EN

Stack Overflow用户

发布于 2020-08-17 19:18:38

您可以从英特尔下载One API安装程序。它会指引你。例如,它会告诉您需要用于集成显卡的计算驱动程序。它还可以安装使用sycl.dll的英特尔oneAPI DPC++编译器,这是一个相当小的库。我不知道SYCL是一个标准,我只是在一个带有C++应用程序接口的PyTorch项目中使用动态链接库。有趣的是,你怎么会提到AMD,还有所有这些英特尔软件。MESA是NVIDIA卡afaik的开源变体。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63449408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档