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
vpdpbusds
def vpdpbusds[width: SIMDLength, 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]
Computes a saturating dot product of four unsigned-signed byte pairs per int32 element using the VPDPBUSDS Intel AVX-512 VNNI instruction.
Like vpdpbusd but saturates the 32-bit accumulator on overflow.
Parameters:
- βwidth (
SIMDLength): Number of int32 output elements (4, 8, or 16). - βa_type (
DType): DType of the a operand. - βb_type (
DType): DType of the b operand. - βc_type (
DType): DType of the accumulator; must be int32.
Args:
- βsrc (
SIMD[c_type, width]): Int32 accumulator vector. - βa (
SIMD[a_type, width]): Uint8 input packed as int32-wide vector. - βb (
SIMD[b_type, width]): Int8 input packed as int32-wide vector.
Returns:
SIMD[c_type, width]: Updated int32 accumulator after saturating byte dot-product accumulation.
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!