ruRAND 0.1.93

Random number generation for Ruda.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use ruda_kernel::{dsl::Runtime, tensor::{RudaTensor, allocation::empty_device_dtype}};
use ruda_core::tensor::{DType, Shape};

/// Pseudo-random generator with bernoulli distribution
pub fn random_bernoulli<R: Runtime>(
    shape: Shape,
    device: &R::Device,
    probability: f32,
    dtype: DType,
) -> RudaTensor<R> {
    let client = R::client(device);
    let output = empty_device_dtype(client.clone(), device.clone(), shape, dtype);

    crate::random_bernoulli(&client, probability, output.clone().binding(), dtype.into())
        .expect("Kernel to never fail");

    output
}