Intel® Inspector User Guide for Linux* OS

ID 767796
Date 7/13/2023
Public

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

Document Table of Contents

Non-Host Pointer

Occurs when a device pointer is used in classic C/C++ functions instead of a host-based pointer.

ID

Code Location

Description

1

Allocation site

Represents a source location of a classic C/C++ function or call stack that is using a device pointer to access the allocated memory.

DPC++ Example

cl::sycl::queue queue_1(cl::sycl::cpu_selector{ } ); 

int* deviceData  = (int*)sycl::malloc_device(sizeInBytes, queue_1.get_device(), queue_1.get_context()); 

memcpy(deviceData, hostData, sizeInBytes); //C++ memcpy function is applied to device pointer 

// it should be queue_1.memcpy(deviceData, hostData, sizeInBytes); 

Possible Correction Strategies

Consider using host-based pointers.

If you use memcpy function, replace it with queue.memcpy to copy the pointer in the appropriate way.