DPCT1063#

Message#

Advice parameter is device-defined <additional action>. You may need to adjust it.

Detailed Help#

The advice value is device-defined advice for the specified memory allocation. A value of 0 reverts the advice to the default behavior. Replace the value with the one required by your device.

Suggestions to Fix#

Consult with your hardware vendor to find a replacement.

For example, this original CUDA* code:

1void foo(int *devPtr, int device, size_t count) {
2  cudaMemAdvise(devPtr, count, cudaMemAdviseSetReadMostly, device);
3}

results in the following migrated SYCL* code:

1void foo(int *devPtr, int device, size_t count) {
2  /*
3  DPCT1063:0: Advice parameter is device-defined and was set to 0. You may need
4  to adjust it.
5  */
6  dpct::get_device(device).default_queue().mem_advise(devPtr, count, 0);
7}

which is rewritten to:

1void foo(int *devPtr, int device, size_t count) {
2  dpct::get_device(device).default_queue().mem_advise(devPtr, count, 0);
3}