首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为不同的实现编写SYCL代码

为不同的实现编写SYCL代码
EN

Stack Overflow用户
提问于 2021-10-08 19:48:10
回答 1查看 124关注 0票数 1

SYCL有各种不同的实现,如DPC++/oneAPI、ComputeCpp、hipSYCL、triSYCL。是否可以编写相同的SYCL代码并用所有不同的实现编译它?

如果不是的话,还能有多大的不同呢?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-12 16:17:16

SYCL是一个开放的标准,因此这意味着任何SYCL实现都需要遵循规范。

因此,从理论上讲,如果您编写SYCL代码,则可以使用任何SYCL实现编译和运行它,而无需修改。

然而,对此有一些警告。

SYCL实现还不存在统一的构建系统,有些使用CMake,但在这个级别上可能需要进行修改才能编译代码文件。

有些还没有实现整个规范,因此可能缺少某些特性。但是,这在一般情况下不应该是一个问题,单个实现可能会显示什么是支持的,什么是不支持的。这是因为SYCL 2020只是在最近才得到批准,而且编译器还在实现一些特性。

除了这些问题之外,您应该非常确信您的SYCL代码将使用ComputeCpp、hipSYCL和DPC++编译和运行。例如,可以为这些编译器中的任何一个编译SYCL学院习题,并进行一些小的更改,这些更改属于我前面列出的两个类别。

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

https://stackoverflow.com/questions/69501055

复制
相关文章

相似问题

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