This document is relevant for: Trn1, Trn2, Trn3

nki.language.random_seed#

nki.language.random_seed(seed)[source]#

Set the random seed for random number generation.

Using the same seed will generate the same sequence of random numbers when used with rand().

Warning

This API is experimental and may change in future releases.

Parameters:

seed – a [1,1] tensor on SBUF or PSUM with a 32-bit seed value.

Examples:

import nki.language as nl

# nki.language.random_seed -- set seed for reproducible random values
seed = nl.full((1, 1), 42, dtype=nl.int32, buffer=nl.sbuf)
nl.random_seed(seed)
a = nl.rand((128, 512), dtype=nl.float32)

# nki.language.random_seed -- same seed produces same values
seed = nl.full((1, 1), 42, dtype=nl.int32, buffer=nl.sbuf)
nl.random_seed(seed)
a = nl.rand((128, 512), dtype=nl.float32)
nl.random_seed(seed)
b = nl.rand((128, 512), dtype=nl.float32)
assert nl.equal(a, b)

This document is relevant for: Trn1, Trn2, Trn3