DPCT1017#
Message#
The <SYCL API name> call is used instead of the <CUDA API name> call. These two calls do not provide exactly the same functionality. Check the potential precision and/or performance issues for the generated code.
Detailed Help#
SYCLomatic did not find an exact functional equivalent of the function in SYCL*, so it used the closest alternative. The replacement may impact your code precision and/or performance. Verify the code correctness/performance.
Suggestions to Fix#
Verify the code correctness/performance.
For example, this original CUDA* code:
1__global__ void k(float *out, float *in) {
2 *out = normf(3, in);
3}
results in the following migrated SYCL code:
1void k(float *out, float *in) {
2 /*
3 DPCT1017:0: The dpct::length call is used instead of the normf call. These two
4 calls do not provide exactly the same functionality. Check the potential
5 precision and/or performance issues for the generated code.
6 */
7 *out = dpct::length(in, 3);
8}
which is rewritten to:
1#include <sycl/ext/intel/math.hpp>
2void k(float *out, float *in) {
3 /*
4 If the extension API sycl::ext::intel::math::norm is available, the following
5 line can alternately be migrated to *out = sycl::ext::intel::math::norm(3, in);
6 */
7 *out = dpct::length(in, 3);
8}