sycl - 为什么默认情况下每个 SYCL 设备都在单独的上下文中?
问题描述
当我使用 cpu_selector 和 gpu_selector 时,这两个设备默认属于 2 个不同的上下文?为什么在相同上下文中拥有设备时的默认设置有助于缓冲区的高性能内存访问(没有将数据复制到不同上下文的开销)?
解决方案
SYCL 上下文只能封装来自单个平台的设备,不能使用来自两个或多个不同平台的设备创建。
可以附加到相同上下文的设备是平台相关的,而不是用户定义的。如果同一平台报告它们,您可以为来自同一平台的许多设备构建一个上下文,但如果它们位于不同的平台上,那么您将无法这样做。
如果您想了解详细信息,可以阅读 SYCL 规范的这一部分https://www.khronos.org/registry/SYCL/specs/sycl-1.2.1.pdf#page=54
推荐阅读
- reactjs - 多个 React Native Modal 中的动态值
- javascript - 验证后将基于 html 表单输入的消息返回到 Google 工作表中
- javascript - 从 location.href="javascript:someFunction()" 获取价值?
- python-3.x - 分水岭算法唯一地识别图像中的重叠对象,在网络摄像头流中是否可能?
- rust - 有什么方法可以将常量与 Rust 中的类型相关联?
- javascript - 包含 JSON 的 Ajax 请求 - 就绪状态 4,状态 0
- python - 如何在 Pylibmodbus 中解决这个 TypeError 异常?
- python - Docsify 文档的基本烧瓶实现
- python - Django“ValueError:嵌入的空字节”
- asp.net - 如何首先获取整个文档,然后进行更改并保存整个文档