tilelang.language.random¶

Functions¶

rng_init(seed[, seq, off, generator])

Initialize CUDA curand random number generator state

rng_rand()

Generate a 32-bit unsigned random integer

rng_rand_float([bit, dist])

Generate a random float

Module Contents¶

tilelang.language.random.rng_init(seed, seq=None, off=0, generator='curandStatePhilox4_32_10_t')¶

Initialize CUDA curand random number generator state

Parameters:
  • seed (PrimExpr) – Random seed value.

  • seq (PrimExpr) – Sequence number for parallel random number generation.

  • off (PrimExpr) – Offset number for parallel random number generation.

  • generator (StringImm) – Set random generator. See https://docs.nvidia.com/cuda/curand/group__DEVICE.html

Returns:

state – The random number generator state handle.

Return type:

PrimExpr

tilelang.language.random.rng_rand()¶

Generate a 32-bit unsigned random integer

Returns:

random_value – A 32-bit unsigned random integer.

Return type:

PrimExpr

tilelang.language.random.rng_rand_float(bit=32, dist='uniform')¶

Generate a random float

Parameters:
  • bit (int = [32, 64]) – Bitwidth of random float.

  • dist (StringImm = ["uniform", "normal"]) – Random distribution.

Returns:

random_value – A random float.

Return type:

PrimExpr