我正在研究OpenCL的近似结构。
我想知道为什么有一个箭头从MemObject下面的黄油指向它自己。
我们可以使用函数clEnqueueCopyBuffer()将一个缓冲区对象复制到另一个缓冲区对象。
或者我们可以在“主机内存”和“主机内存”之间传递日期。 “计算设备内存”?
或其他什么?
OpenCL UML类图中提到的MemObject是指计算设备或主机内存还是两者?
答案 0 :(得分:1)
" MemObject"指向"缓冲区"和"图像"是因为" MemObject"抽象两者(继承自)。大多数函数在进行复制或设置内核参数时都不关心它是否是一个"缓冲区"或" Image",只有它是" MemObject"。
缓冲区可以指向自身,因为缓冲区对象可以是另一个缓冲区对象的子缓冲区。实际上,您可以创建无限量的缓冲区,这些缓冲区是另一个缓冲区的子缓冲区。