Visible to Intel only — GUID: GUID-0FC97CDD-CCAE-451C-9221-8F736212DDC8
Visible to Intel only — GUID: GUID-0FC97CDD-CCAE-451C-9221-8F736212DDC8
DPCT1033
Message
Migrated code uses a basic Sobol generator. Initialize oneapi::mkl::rng::sobol generator with user-defined direction numbers to use it as Scrambled Sobol generator.
Detailed Help
Intel® oneAPI Math Kernel Library (oneMKL) RNG currently does not support Scrambled Sobol generator by default.
Migrated code uses a basic Sobol generator.
Suggestions to Fix
Set user-defined direction numbers to the basic Sobol generator and use it as Scrambled Sobol generator.
See the Random Number Generators topic for more information.
For example, this original CUDA* code:
void foo() {
...
curandGenerator_t rng;
curandCreateGenerator(&rng, CURAND_RNG_QUASI_SCRAMBLED_SOBOL32);
curandSetQuasiRandomGeneratorDimensions(rng, 1234);
}
results in the following migrated SYCL* code:
void foo() {
...
dpct::rng::host_rng_ptr rng;
/*
DPCT1033:0: Migrated code uses a basic Sobol generator. Initialize
oneapi::mkl::rng::sobol generator with user-defined direction numbers to use
it as Scrambled Sobol generator.
*/
rng = dpct::rng::create_host_rng(dpct::rng::random_engine_type::sobol);
rng->set_dimensions(1234);
}
which is rewritten to:
void foo() {
...
dpct::rng::host_rng_ptr rng;
rng = dpct::rng::create_host_rng(dpct::rng::random_engine_type::sobol);
rng->set_direction_numbers(direction_numbers /*Use user-defined direction numbers*/);
}