Diagnostics Reference

This topic gives you all of the diagnostic reference numbers, messages, detailed help, and suggestion to fix your errors.

ID

Message

DPCT1000

An error handling if-stmt was detected but could not be rewritten. See the details in the resulting file comments.

DPCT1001

The statement could not be removed. See the details in the resulting file comments.

DPCT1002

A special case error handling if-stmt was detected. You may need to rewrite this code.

DPCT1003

The migrated API does not return an error code, so (*, 0) is inserted. You may need to rewrite this code.

DPCT1004

Compatible DPC++ code could not be generated.

DPCT1005

The SYCL device version is different from CUDA Compute Compatibility. You may need to rewrite this code.

DPCT1006

DPC++ does not provide a standard API to differentiate between integrated/discrete GPU devices.

DPCT1007

Migration of this API is not supported by the Intel® DPC++ Compatibility Tool.

DPCT1008

The clock function is not defined in DPC++. This is a hardware-specific feature. Consult with your hardware vendor to find a replacement.

DPCT1009

SYCL uses exceptions to report errors and does not use error codes. The original code was commented out and a warning string was inserted. You may need to rewrite this code.

DPCT1010

SYCL uses exceptions to report errors and does not use error codes. The call was replaced with 0. You may need to rewrite this code.

DPCT1011

The tool detected overloaded operators for built-in vector types, which may conflict with the SYCL 1.2.1 standard operators (see 4.10.2.1 Vec interface). The tool inserted a namespace to avoid the conflict. Use SYCL 1.2.1 standard operators instead.

DPCT1012

Detected a kernel execution time measurement pattern and generated an initial code for time measurements in SYCL. You can change the way time is measured depending on your requirements.

DPCT1013

The rounding mode could not be specified and the generated code may have different precision than the original code. Verify the correctness. The SYCL math built-in functions rounding mode is aligned with the OpenCL™ C 1.2 standard.

DPCT1014

The flag/priority options are not supported for SYCL queues; the output parameter(s) are set to 0.

DPCT1015

The output requires adjustment.

DPCT1016

The <API name> was not migrated, because parameter(s) <parameter name a> and/or <parameter name b> could not be evaluated, or because <parameter name a> is not equal to <parameter name b>. Rewrite this code manually.

DPCT1017

The <DPC++ API name> call is used instead of the <CUDA API name> call. These two calls do not provide the same functionality. Check the potential precision and/or performance issues for the generated code.

DPCT1018

The <API name> was migrated, but the generated code performance may be sub-optimal due to the following reasons:

  • The <parameter name> could not be evaluated and may be smaller than <other parameter name>.

  • The <parameter name> is equal to <other parameter name>, but is greater than 1.

DPCT1019

The local_mem_size in SYCL is not a complete equivalent of sharedMemPerBlock. You may need to adjust the code.

DPCT1020

The migration of <api name>, if it is called from __global__ or __device__ function is not supported. You may need to redesign the code to use the host-side <api name> instead, which submits this call to the SYCL queue automatically.

DPCT1021

Migration of cublasHandle_t in __global__ or __device__ function is not supported. You may need to redesign the code

DPCT1022

There is no exact match between the maxGridSize and the max_nd_range size. Verify the correctness of the code.

DPCT1023

The DPC++ sub-group does not support mask options for <api name>.

DPCT1024

The original code returned the error code that was further consumed by the program logic. This original code was replaced with 0. You may need to rewrite the program logic consuming the error code.

DPCT1025

The SYCL queue is created ignoring the flag/priority options.

DPCT1026

The call to <API name> was removed, because <reason>.

The reason can be:

  • DPC++ currently does not support setting resource limits on devices

  • DPC++ currently does not support associating USM with a specific queue

  • DPC++ currently does not support query operations on queues

  • DPC++ currently does not support capture operations on queues

  • DPC++ currently does not support configuring shared memory on devices

DPCT1027

The call to <API name> was replaced with 0, because <reason>.

The reason can be:

  • DPC++ currently does not support setting resource limits on devices

  • DPC++ currently does not support associating USM with a specific queue

  • DPC++ currently does not support query operations on queues

  • DPC++ currently does not support capture operations on queues

  • DPC++ currently does not support configuring shared memory on devices

DPCT1028

The <API name> was not migrated, because the parameter <parameter name> is unsupported.

DPCT1029

DPC++ currently does not support getting device resource limits. The output parameter(s) are set to 0.

DPCT1030

DPC++ currently does not support inter-process communication (IPC) operations. You may need to rewrite the code.

DPCT1031

DPC++ currently does not support memory access across peer devices. The output parameter(s) are set 0.

DPCT1032

A different random number generator is used. You may need to adjust the code.

DPCT1033

The migrated code uses a basic Sobol generator. Initialize the mkl::rng::sobol generator with user-defined direction numbers to use it as Scrambled Sobol generator.

DPCT1034

The migrated API does not return an error code. 0 is returned in the lambda. You may need to rewrite this code.

DPCT1035

All DPC++ devices can be used by the host to submit tasks. You may need to adjust this code.

DPCT1036

The type <type name> was not migrated, because the migration depends on the <API call>.

DPCT1037

Rewrite this code using <library name> with DPC++.

DPCT1038

When the kernel function name is used as a macro argument, the migration result may be incorrect. You need to verify the definition of the macro.

DPCT1039

The generated code assumes that <parameter name> points to the global memory address space. If it points to a local memory address space, replace <function name> with <function name>.

DPCT1040

Use sycl::stream instead of printf, if your code is used on the device.

DPCT1041

SYCL uses exceptions to report errors, it does not use error codes. 0 is used instead of an error code in an if/while/do/for/switch/return statement. You may need to rewrite this code.

DPCT1042

The size of the arguments passed to the SYCL kernel exceeds the minimum size limit (1024) for a non-custom SYCL device. You can get the hardware argument size limit by querying info::device::max_parameter_size. You may need to rewrite this code if the size of the arguments exceeds the hardware limit.

DPCT1043

The version-related API is different in SYCL. An initial code was generated, but you need to adjust it.

DPCT1044

<BaseClass1> was removed because <BaseClass2> has been deprecated in C++11. You may need to remove references to typedefs from <BaseClass1> in the class definition.

DPCT1045

Migration is only supported for this API for the general sparse matrix type. You may need to adjust the code.

DPCT1046

The <original API name> was not migrated because <reason>. You need to adjust the code. This may be due to one of the following:

  • Not all values of parameters could be evaluated in migration.

  • The combination of matrix data type and scalar type is unsupported.

DPCT1047

The meaning of <parameter name> in the <API name> is different from the <API name>. You may need to check the migrated code.

DPCT1048

The original value <macro name> is not meaningful in the migrated code and was removed or replaced with 0. You may need to check the migrated code.

DPCT1049

The workgroup size passed to the SYCL kernel may exceed the limit. To get the device limit, query info::device::max_work_group_size. Adjust the workgroup size if needed.

DPCT1050

The template argument of the <type> could not be deduced. You need to update this code.

DPCT1051

DPC++ does not support the device property that would be functionally compatible with <property name>. It was migrated to <migrated token>. You may need to rewrite the code.

DPCT1052

DPC++ does not support the member access for a volatile qualified vector type. The volatile qualifier was removed. You may need to rewrite the code.

DPCT1053

Migration of device assembly code is not supported.

DPCT1054

The type of variable <variable name> is declared in device function with the name <type>. Adjust the code to make the <type> declaration visible at the accessor declaration point.

DPCT1055

Vector types with size 1 are migrated to the corresponding fundamental types, which cannot be inherited. You need to rewrite the code.

DPCT1056

The Intel® DPC++ Compatibility Tool did not detect the variable <variable name> used in device code. If this variable is also used in device code, you need to rewrite the code.

DPCT1057

Variable <variable name> was used in host code and device code. The Intel® DPC++ Compatibility Tool updated <variable name> type to be used in SYCL device code and generated new <host variable name> to be used in host code. You need to update the host code manually to use the new <host variable name>.

DPCT1058

<API Name> is not migrated because it is not called in the code.

DPCT1059

SYCL only supports 4-channel image format. Adjust the code.

DPCT1060

SYCL range can only be a 1D, 2D, or 3D vector. Adjust the code.

DPCT1061

Call to <macro name> macro was removed, because it only contains code, which is unnecessary in DPC++.

DPCT1062

SYCL Image doesn’t support normalized read mode.

DPCT1063

Advice parameter is device-defined. You may need to adjust it.

DPCT1064

Migrated <function name> call is used in a macro definition and is not valid for all macro uses. Adjust the code.

DPCT1065

Consider replacing sycl::nd_item::barrier() with sycl::nd_item::barrier(sycl::access::fence_space::local_space) for better performance, if there is no access to global memory .

DPCT1066

Input/Output distance are migrated to FWD/BWD_DISTANCE. You may need to update the code manually.

DPCT1067

The <parameter name> parameter could not be migrated. You may need to update the code manually.

DPCT1068

The value of <argument type> could not be deduced. You need to update <placeholder> manually.

DPCT1069

The argument <argument name> of the kernel function contains virtual pointer(s), which cannot be dereferenced. Try to migrate the code with \"usm-level=restricted\".

DPCT1070

<pointer variable name> is allocated by dpct::dpct_malloc. Use dpct::get_host_ptr<type>(pointer variable name) to access the pointer from the host code.

DPCT1071

The placement of the FFT computational function could not be deduced, so it is assumed out-of-place. You may need to adjust the code.

DPCT1072

DPC++ currently does not support getting the available memory on the current device. You may need to adjust the code.

DPCT1073

The field values of parameter {0} could not be deduced, so the call was not migrated. You need to update this code manually.

DPCT1074

The SYCL Image class does not support some of the flags used in the original code. Unsupported flags were ignored. Data read from SYCL Image could not be normalized as specified in the original code.

DPCT1075

Migration of cuFFT calls may be incorrect and require review.

DPCT1076

The device attribute was not recognized by the Intel(R) DPC++ Compatibility Tool. You may need to adjust the code.

DPCT1077

<macro name> redefines a standard SYCL type, which may cause conflicts.

DPCT1078

Consider replacing memory_order::acq_rel with memory_order::seq_cst for correctness if strong memory order restrictions are needed.

DPCT1079

Replace “Placeholder” with the file path of the dynamic library.

DPCT1080

Variadic functions cannot be called in a SYCL kernel or by functions called by the kernel. You may need to adjust the code.

DPCT1081

The generated code assumes that <pointer variable> points to the global memory address space. If it points to a local or private memory address space, replace address_space::global with address_space::local or address_space::private.

DPCT1082

The type <type name> was not migrated because the Intel® DPC++ Compatibility Tool doesn’t support migration of this type.