在OpenCL类图

时间:2016-10-17 16:17:40

标签: uml opencl

我正在研究OpenCL的近似结构。

OpenCL UML Class Diagram

  1. 我想知道为什么有一个箭头从MemObject下面的黄油指向它自己。

    我们可以使用函数clEnqueueCopyBuffer()将一个缓冲区对象复制到另一个缓冲区对象。

    或者我们可以在“主机内存”和“主机内存”之间传递日期。 “计算设备内存”?

    或其他什么?

  2. OpenCL UML类图中提到的MemObject是指计算设备或主机内存还是两者?

1 个答案:

答案 0 :(得分:1)

    • " MemObject"指向"缓冲区"和"图像"是因为" MemObject"抽象两者(继承自)。大多数函数在进行复制或设置内核参数时都不关心它是否是一个"缓冲区"或" Image",只有它是" MemObject"。

    • 缓冲区可以指向自身,因为缓冲区对象可以是另一个缓冲区对象的子缓冲区。实际上,您可以创建无限量的缓冲区,这些缓冲区是另一个缓冲区的子缓冲区。

    • 类图是指API使用的抽象对象。这些对象驻留在主机或设备上与该图不相关。只有对象之间的关系。
    • 示例:队列只有一个上下文,但上下文有*(0 ... N)个队列。