Script.randint4x

Script.randint4x

Script.randint4x(seed, offset, n_rounds=10)

Generate four blocks of random int32 using Philox-4x32 PRNG.

Given a seed scalar and an offset register tensor, returns four register tensors of random uint32 values. This is the most efficient entry point to Tilus’s Philox pseudo-random number generator.

Parameters:
  • seed (Expr | int) – The seed for generating random numbers (uint64 scalar).

  • offset (RegisterTensor) – The offsets to generate random numbers for (uint32).

  • n_rounds (int) – Number of Philox rounds (default 10).

Returns:

r0, r1, r2, r3 – Four register tensors of random uint32 values with the same shape as offset.

Return type:

tuple[RegisterTensor, RegisterTensor, RegisterTensor, RegisterTensor]

Notes

  • Thread group: Can be executed by any sized thread group.