For the complete documentation index, see llms.txt. Markdown versions of all pages are available by appending .md to any URL (e.g. /max/get-started.md).
Mojo function
product
def product[dtype: DType, input_fn: def[width: Int, rank: Int](IndexList[rank]) capturing thin -> SIMD[dtype, width], output_fn: def[width: SIMDLength, rank: Int](IndexList[rank], SIMD[dtype, width]) capturing thin -> None, /, target: StringSlice[ImmStaticOrigin] = StringSlice("cpu"), *, reduce_dim: Int](input_shape: Coord, context: Optional[DeviceContext] = None)
Computes the product across the input and output shape. This performs the product 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 (
def[width: Int, rank: Int](IndexList[rank]) capturing thin -> SIMD[dtype, width]): The function to load the input. - βoutput_fn (
def[width: SIMDLength, rank: Int](IndexList[rank], SIMD[dtype, width]) capturing thin -> None): The function to store the output. - βtarget (
StringSlice[ImmStaticOrigin]): The target to run on. - βreduce_dim (
Int): The axis to perform the product on.
Args:
- βinput_shape (
Coord): The input shape. - βcontext (
Optional[DeviceContext]): The pointer to DeviceContext.
Raises:
If the operation fails.
def product[dtype: DType](src: Span[Scalar[dtype]]) -> Scalar[dtype]
Computes the product of the buffer elements.
Parameters:
- βdtype (
DType): The dtype of the input.
Args:
- βsrc (
Span[Scalar[dtype]]): The buffer.
Returns:
Scalar[dtype]: The product of the buffer elements.
Raises:
If the operation fails.
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!