请用中文重写下面这段话不改变原文的意思适当提取凝练重点知识减少字数:The application running on the host uses SYCL buffer objects using instances of the syclbuffer class orUSM allocation functions to allocate memory in the global addre
在主机上运行的应用程序使用SYCL缓冲区对象,使用sycl::buffer类的实例或USM分配函数在全局地址空间中分配内存,或者可以使用sycl::unsampled_image和sycl::sampled_image类分配专用图像内存。 在SYCL应用程序中,内存对象绑定到它们在其中使用的所有设备,无论它们在哪个SYCL上下文中。SYCL内存对象(即缓冲区和图像对象)可以封装多个底层SYCL后端内存对象以及多个主机内存分配,以使相同的对象在不同的上下文、平台或后端之间共享。USM分配唯一标识内存分配,并绑定到SYCL上下文。它们仅在上下文使用的后端上有效。命令组对象的执行顺序确保从不同设备对内存对象的内存进行顺序一致的访问。访问USM分配不会改变执行顺序。用户必须明确告知SYCL运行时任何必要的要求,以进行合法的执行。 要访问内存对象,用户必须创建访问器对象,该对象参数化内核或主机所需的访问内存对象的类型。访问器对象定义了访问内存对象的要求,并且这个要求是通过构造访问器来定义的,无论内核或主机是否有任何用途。访问器对象指定访问是通过全局内存、常量内存还是图像采样器及其相关访问函数。访问器还指定访问是只读(RO)、只写(WO)还是读写(RW)。可选的no_init属性可以添加到访问器中,以告诉系统丢弃访问器所引用数据的任何先前内容,因此还有两种附加的要求类型:no-init-write-only(NWO)和no-init-read-write(NRW)。为简单起见,当一个需求表示某种访问模式的访问器对象时,我们将其表示为MemoryObjectAccessMode。例如,访问内存对象buf1的访问器在RW模式下表示为buf1RW。使用这样的访问器的命令组对象表示为CG(buf1RW)。满足需求所需的动作以及内存对象的最新副本的位置将根据实现而异
原文地址: https://www.cveoy.top/t/topic/fPLe 著作权归作者所有。请勿转载和采集!