I have read the opencl specification, and in page 53 (creating buffer objects) it says that when we use CL_MEM_COPY_HOST_PTR we can initialize the contents of the buffer object using PCIe memory; so my question is: Could be possible to use PCIe memory with other flags (CL_MEM_ALLOC_HOST_PTR or CL_MEM_READ_WRITE)? Is there a way to enforce the use of PCIe memory?
My application has small amounts of input data (less than 1KB) that convert in large amounts of output data in every kernel call; the data transfer of the output data works fine, but the transfer of input data is somehow slow, so I think that using PCIe memory could help. Thanks a lot for any insight about this.
As per OpenCL Spec, CL_MEM_ALLOC_HOST_PTR can be used to create PCIe memory. Current AMD implementation does not have support for PCIe memory.