Intel® Inspector User Guide for Linux* OS

ID 767796
Date 3/31/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

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.

Did you find the information on this page useful?

Characters remaining:

Feedback Message