DPCT1032#

メッセージ#

異なる乱数ジェネレーターが使用されています。コードを調整する必要があります。

詳細な説明#

インテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) (英語) の RNG は現在、以下のエンジンタイプをサポートしていません。

  • XORWOW 生成器

  • 64 ビットシーケンスの Sobol 生成器

  • スクランブル Sobol 生成器

エンジンタイプは、それぞれ次の生成器に移行されます。

  • MCG59 生成器

  • 基本 Sobol 生成器

  • 基本 Sobol 生成器

修正方法の提案#

コードを調整する必要があります。

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


1   __global__ void kernel(curandStateXORWOW_t rng) { 
2    ...
3   }

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


1   /* 
2   DPCT1032:0: A different random number generator is used. You may need to adjust 
3   the code.
4   */ 
5   void kernel( 
6   dpct::rng::device::rng_generator<oneapi::mkl::rng::device::mcg59<1>> rng) { 
7     ... 
8   }

このコードは次のように書き換えられます。


1   void kernel( 
2   dpct::rng::device::rng_generator<oneapi::mkl::rng::device::mcg59<1>> rng) { 
3     ... 
4   }