DPCT1014#

Message#

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

Detailed Help#

The flag and priority options are not supported in the SYCL* queue. You may need to rewrite the generated code.

Suggestions to Fix#

Review the logic and adjust it.

For example, this original CUDA* code:

1void foo(cudaStream_t old_stream, cudaStream_t *new_stream) {
2  unsigned int flag;
3  cudaStreamGetFlags(old_stream, &flag);
4  cudaStreamCreateWithFlags(new_stream, flag);
5}

results in the following migrated SYCL code:

 1void foo(sycl::queue *old_stream, sycl::queue **new_stream) {
 2  unsigned int flag;
 3  /*
 4  DPCT1014:0: The flag and priority options are not supported for SYCL queues.
 5  The output parameter(s) are set to 0.
 6  */
 7  *(&flag) = 0;
 8  /*
 9  DPCT1025:1: The SYCL queue is created ignoring the flag and priority options.
10  */
11  *(new_stream) = dpct::get_current_device().create_queue();
12}

which is rewritten to:

1void foo(sycl::queue *old_stream, sycl::queue **new_stream) {
2  *(new_stream) = dpct::get_current_device().create_queue();
3}