I am confused by clCreateBuffer. To my understanding, it creates a buffer object and allocates the memory on devices. Right?
However, if there are multiple devices, which one is used for the creation of buffer object? There is no argument for it.
Can someone give an explanation? Thanks!
It is created on all devices in the context, or at least marked as being available on all devices. It is up to the OpenCL runtime to ensure that the latest data is available on a particular device when required.
It is created on all devices in the context, or at least marked as being available on all devices. It is up to the OpenCL runtime to ensure that the latest data is available on a particular device when required.
Are the physical memories allocated on all devices in the context when creating buffer object with NULL data pointer? How about with non-null data pointer?
Are the physical memories allocated on all devices in the context when creating buffer object with NULL data pointer? How about with non-null data pointer?