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   }