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 }