Skip to main content



mean(src: Buffer[type, size, address_space]) -> SIMD[$0, 1]

Computes the mean value of the elements in a buffer.


  • src (Buffer[type, size, address_space]): The buffer of elements for which the mean is computed.


The mean value of the elements in the given buffer.

mean[reduce_axis: Int](src: NDBuffer[type, rank, shape, address_space], dst: NDBuffer[type, rank, shape, 0])

Computes the mean across reduce_axis of an NDBuffer.


  • reduce_axis (Int): The axis to reduce across.


  • src (NDBuffer[type, rank, shape, address_space]): The input buffer.
  • dst (NDBuffer[type, rank, shape, 0]): The output buffer.

mean[type: DType, input_fn: fn[Int, Int](StaticIntTuple[$1], /) capturing -> SIMD[$0, $0], output_fn: fn[Int, Int](StaticIntTuple[$1], SIMD[$0, $0], /) capturing -> None, /, single_thread_blocking_override: Bool = false, target: StringLiteral = "cpu"](input_shape: StaticIntTuple[size], reduce_dim: Int, output_shape: StaticIntTuple[size])

Computes the mean across the input and output shape.

This performs the mean computation on the domain specified by input_shape, storing the results using theinput_0_fn. The results' domain is output_shape which are stored using the output_0_fn.


  • type (DType): The type of the input and output.
  • input_fn (fn[Int, Int](StaticIntTuple[$1], /) capturing -> SIMD[$0, $0]): The function to load the input.
  • output_fn (fn[Int, Int](StaticIntTuple[$1], SIMD[$0, $0], /) 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 (StringLiteral): The target to run on.


  • input_shape (StaticIntTuple[size]): The input shape.
  • reduce_dim (Int): The axis to perform the mean on.
  • output_shape (StaticIntTuple[size]): The output shape.