Visible to Intel only — GUID: GUID-FB8CA301-E6AA-4A1E-B287-9913601633C9
Visible to Intel only — GUID: GUID-FB8CA301-E6AA-4A1E-B287-9913601633C9
Mismatched Queue
Occurs when a pointer allocated for a certain queue is used for a different queue.
ID |
Code Location |
Description |
---|---|---|
1 |
Allocation site |
Represents source location of memory allocation in a Data Parallel C++ (DPC++) code. |
DPC++ programs use queues for planning tasks for kernels. Each pointer is allocated for a certain device and is associated with a certain queue. Using a pointer allocated for one queue with another queue results in an error.
DPC++ Example
cl::sycl::queue queue_1(cl::sycl::cpu_selector{}); cl::sycl::queue queue_2(cl::sycl::cpu_selector{}); int* deviceData = (int*)sycl::malloc_device(sizeInBytes, queue_1.get_device(), queue_1.get_context()); queue_2.memcpy(deviceData, hostData, sizeInBytes).wait(); // it should be queue_1.memcpy(deviceData, hostData, sizeInBytes).wait();
Possible Correction Strategies
Consider reducing the amount of queues or using one queue if possible.
If you are using multiple queues, consider using shared memory pointers.