Mojo function
sum
sum(src: NDBuffer[dtype, 1, origin]) -> Scalar[dtype]
Computes the sum of buffer elements.
Args:
- src (
NDBuffer): The buffer.
Returns:
Scalar: The sum of the buffer elements.
Raises:
If the operation fails.
sum[reduce_axis: Int](src: NDBuffer[dtype, rank, origin, shape, strides, alignment2=alignment2, address_space=address_space, exclusive=exclusive], dst: NDBuffer[dtype, rank, origin, shape])
Computes the sum across reduce_axis of an NDBuffer.
Parameters:
- reduce_axis (
Int): The axis to reduce across.
Args:
Raises:
If the operation fails.
sum[dtype: DType, input_fn: fn[width: Int, rank: Int](IndexList[rank]) capturing -> SIMD[dtype, width], output_fn: fn[width: Int, rank: Int](IndexList[rank], SIMD[dtype, width]) capturing -> None, /, single_thread_blocking_override: Bool = False, target: StringSlice[StaticConstantOrigin] = "cpu"](input_shape: IndexList[size], reduce_dim: Int, context: DeviceContextPtr = DeviceContextPtr())
Computes the sum across the input and output shape.
This performs the sum computation on the domain specified by input_shape,
loading the inputs using the input_fn. The results are stored using
the output_fn.
Parameters:
- dtype (
DType): The dtype of the input and output. - input_fn (
fn[width: Int, rank: Int](IndexList[rank]) capturing -> SIMD[dtype, width]): The function to load the input. - output_fn (
fn[width: Int, rank: Int](IndexList[rank], SIMD[dtype, width]) capturing -> None): The function to store the output. - single_thread_blocking_override (
Bool): If True, then the operation is run synchronously using a single thread. - target (
StringSlice): The target to run on.
Args:
- input_shape (
IndexList): The input shape. - reduce_dim (
Int): The axis to perform the sum on. - context (
DeviceContextPtr): The pointer to DeviceContext.
Raises:
If the operation fails.
sum[dtype: DType, input_fn_1d: fn[dtype_: DType, width: Int](idx: Int) capturing -> SIMD[dtype_, width]](length: Int) -> Scalar[dtype]
Computes the sum of a 1D array using a provided input function.
This function performs a reduction (sum) over a 1-dimensional array of the specified length and data type.
The input values are provided by the input_fn_1d function, which takes an index and returns a SIMD vector
of the specified width and data type. The reduction is performed using a single thread for deterministic results.
Parameters:
- dtype (
DType): The data type of the elements to sum. - input_fn_1d (
fn[dtype_: DType, width: Int](idx: Int) capturing -> SIMD[dtype_, width]): A function that takes a data type, SIMD width, and index, and returns a SIMD vector of input values.
Args:
- length (
Int): The number of elements in the 1D array.
Returns:
Scalar: The sum of all elements as a scalar of the specified data type.
Raises:
Any exception raised by the input function or reduction process.
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!