@@ -715,22 +715,15 @@ void dpnp_rng_rayleigh_c(void* result, const _DataType scale, const size_t size)
715715 const _DataType a = 0.0 ;
716716 const _DataType beta = 2.0 ;
717717
718- DPNPC_ptr_adapter<_DataType> result1_ptr (result, size, true , true );
718+ DPNPC_ptr_adapter<_DataType> result1_ptr (result, size);
719719 _DataType* result1 = result1_ptr.get_ptr ();
720720
721721 mkl_rng::exponential<_DataType> distribution (a, beta);
722722
723- auto event_out = mkl_rng::generate (distribution, DPNP_RNG_ENGINE, size, result1);
724- event_out.wait ();
725- event_out = mkl_vm::sqrt (DPNP_QUEUE, size, result1, result1, no_deps, mkl_vm::mode::ha);
726- event_out.wait ();
727- // with MKL
728- // event_out = mkl_blas::axpy(DPNP_QUEUE, size, scale, result1, 1, result1, 1);
729- // event_out.wait();
730- for (size_t i = 0 ; i < size; i++)
731- {
732- result1[i] *= scale;
733- }
723+ auto exponential_rng_event = mkl_rng::generate (distribution, DPNP_RNG_ENGINE, size, result1);
724+ auto sqrt_event = mkl_vm::sqrt (DPNP_QUEUE, size, result1, result1, {exponential_rng_event}, mkl_vm::mode::ha);
725+ auto scal_event = mkl_blas::scal (DPNP_QUEUE, size, scale, result1, 1 , {sqrt_event});
726+ scal_event.wait ();
734727}
735728
736729template <typename _DataType>
0 commit comments