DPCT1075

Message

Migration of cuFFT calls may be incorrect and require review.

Detailed Help

The warning is generated in the following cases:

  1. In the original code one cuFFT handle may be associated with different streams, but the Intel® DPC++ Compatibility Tool could not detect which stream was used by cuFFT calls.

  2. In the migrated code one or more commit calls need to be used, but the Intel® DPC++ Compatibility Tool could not deduce how to generate the correct set of commit calls.

For example:

1
2
3
4
5
// Original code:
cufftPlan1d(plan, ...);
cufftExecR2C(plan, ...); // this call is using default stream
cufftSetStream(plan, s2);
cufftExecR2C(plan, ...); // this call is using s2 stream
1
2
3
4
5
6
7
8
9
// Migrated code:
/*
DPCT1075: Migration of cuFFT calls may be incorrect and requires review.
*/
plan->commit(*s2); // wrong queue is used
...
dft::compute_forward (...);
...                                  // missing commit call
dft::compute_forward(...);
1
2
3
4
5
6
7
// Fixed code:
plan->commit(dpct::get_default_queue()); // using default queue
...
dft::compute_forward (...);
...
plan->commit(*s2); // added new commit call with *s2 queue
dft::compute_forward(...);

Suggestions to Fix

Check that oneapi::mkl::dft::descriptor::commit() calls were generated correctly and are using the correct queue parameter. Fix the code if needed by adding missing commit calls and adjusting queue parameters.

See the descriptor<precision, domain>::commit function for more information.