Creates an array of a given shape and data type, filled with a scalar value.
The advantage of using this function instead of e.g. doing
nv_array(1, shape = c(100, 100)) is that lowering of prim_fill() is
efficiently represented in the compiled program, while the latter uses
100 * 100 * 4 bytes of memory.
Arguments
- value
(
numeric(1))
Scalar value to fill the array with.- shape
(
integer())
Shape of the output array.- dtype
(
character(1)|DataType)
Data type.- ambiguous
(
logical(1))
Whether the type is ambiguous. Ambiguous types usually arise from R literals (e.g.,1L,1.0) and follow special promotion rules. See thevignette("type-promotion")for more details.- device
(
NULL|character(1)| device)
The device the data lives on, given either as:a device string naming the platform (e.g.
"cpu","cuda","cuda:<n>"), which is resolved against the backend in use, ora device object as returned by
nv_device(): aPJRTDevicefor the"pjrt"backend or aquickr_devicefor the"quickr"backend. Because a device object is backend-specific, it also determines the backend.
The default (
NULL) usesdefault_device(): the CPU, or the platform named by thePJRT_PLATFORMenvironment variable on the"pjrt"backend.
Value
arrayish
Has the given shape and dtype.
StableHLO
Lowers to hlo_tensor().
Examples
prim_fill(3.14, shape = c(2, 3), dtype = "f32")
#> AnvlArray
#> 3.1400 3.1400 3.1400
#> 3.1400 3.1400 3.1400
#> [ CPUf32{2,3} ]