DPCT1014#
メッセージ#
フラグオプションとプライオリティー・オプションは SYCL* キューではサポートされていません。出力パラメーターは 0 に設定されます。
説明#
フラグオプションとプライオリティー・オプションは SYCL* キューではサポートされていません。生成されたコードを書き換える必要があります。
修正方法の提案#
ロジックを確認して、調整してください。
例えば、以下のオリジナル CUDA* コードについて考えてみます。
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}
このコードは、以下の SYCL* コードに移行されます。
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}
このコードは次のように書き換えられます。
1void foo(sycl::queue *old_stream, sycl::queue **new_stream) {
2 *(new_stream) = dpct::get_current_device().create_queue();
3}