0

当我使用 cpu_selector 和 gpu_selector 时,这两个设备默认属于 2 个不同的上下文?为什么在相同上下文中拥有设备时的默认设置有助于缓冲区的高性能内存访问(没有将数据复制到不同上下文的开销)?

4

1 回答 1

3

SYCL 上下文只能封装来自单个平台的设备,不能使用来自两个或多个不同平台的设备创建。

可以附加到相同上下文的设备是平台相关的,而不是用户定义的。如果同一平台报告它们,您可以为来自同一平台的许多设备构建一个上下文,但如果它们位于不同的平台上,那么您将无法这样做。

如果您想了解详细信息,可以阅读 SYCL 规范的这一部分https://www.khronos.org/registry/SYCL/specs/sycl-1.2.1.pdf#page=54

于 2019-05-29T09:10:18.113 回答