DPCT1119#

メッセージ#

<タイプまたは API> の移行はサポートされていません。オプションを使用して再移行を試行してください: <オプション名>

詳細な説明#

インテル® DPC++ 互換性ツールのデフォルトの動作では、移行時に実験的な拡張機能は適用されません。機能するコードを取得するには、推奨オプションを使用して再度移行してください。

修正方法の提案#

例えば、以下のオリジナル CUDA* コードについて考えてみます。

1  __device__ void testReduce(const cg::thread_block &cta) { 
2   cg::thread_block_tile<16> tile16 = cg::tiled_partition<16>(cta); 
3  }

このコードは、以下の SYCL* コードに移行されます。

1  void testReduce(const sycl::group<3> &cta, const sycl::nd_item<3> &item_ct1) { 
2   /* 
3   DPCT1007:0: Migration of tiled_partition is not supported. 
4   */ 
5   /* 
6   DPCT1119:1: Migration of cooperative_groups::__v1::thread_block_tile<16> is not 
7   supported, please try to remigrate with option: 
8   --use-experimental-features=logical-group.
9   */ 
10  cg::thread_block_tile<16> tile16 = cg::tiled_partition<16>(cta); 
11 }

これは “–use-experimental-features=logical-group” を使用して再移行する必要があります。

1  void testReduce(const sycl::group<3> &cta, const sycl::nd_item<3> &item_ct1) { 
2   dpct::experimental::logical_group tile16 = 
3   dpct::experimental::logical_group(item_ct1, item_ct1.get_group(), 16); 
4  }