IMPORTANT: To view this page as Markdown, append `.md` to the URL (e.g. /max/get-started.md). For the complete documentation index, see llms.txt.
Skip to main content
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

dot_i8_to_i32_saturated_x86

def dot_i8_to_i32_saturated_x86[width: SIMDSize, a_type: DType, b_type: DType, c_type: DType](src: SIMD[c_type, width], a: SIMD[a_type, width], b: SIMD[b_type, width]) -> SIMD[c_type, width]

The dot product of the four bytes in each int32 element of a and b plus a int32 from src using VNNI or AVX2.

Constraints:

Requires AVX512_VNNI or AVX2. The size of the output vector must be 4, 8 or 16. The a argument has range [0,127] not [0, 255]. The b argument has range [-128,127].

Parameters:

  • ​width (SIMDSize): Size of the output SIMD vector.
  • ​a_type (DType): The DType for a.
  • ​b_type (DType): The DType for b.
  • ​c_type (DType): The DType for c.

Args:

Returns:

SIMD[c_type, width]: A SIMD vector of width elements.