5.2.2. Batch GEMM Operations - 5.2 English - 68552

AOCL API Guide (68552)

Document ID
68552
Release Date
2025-12-29
Version
5.2 English
void aocl_batch_gemm_f32f32f32of32(const char *order, const char *transa, const char *transb, const md_t *m, const md_t *n, const md_t *k, const float *alpha, const float **a, const md_t *lda, const float **b, const md_t *ldb, const float *beta, float **c, const md_t *ldc, const md_t group_count, const md_t *group_size, const char *mem_format_a, const char *mem_format_b, dlp_metadata_t **metadata)#

Refer to aocl_batch_gemm_bf16bf16f32of32 for info on parameters.

void aocl_batch_gemm_bf16bf16f32of32(const char *order, const char *transa, const char *transb, const md_t *m, const md_t *n, const md_t *k, const float *alpha, const bfloat16 **a, const md_t *lda, const bfloat16 **b, const md_t *ldb, const float *beta, float **c, const md_t *ldc, const md_t group_count, const md_t *group_size, const char *mem_format_a, const char *mem_format_b, dlp_metadata_t **metadata)#

Batch GEMM (General Matrix Multiplication) with support for fused post-operations.

Parameters:
  • order – [in] Array of memory layouts (row-major or column-major).

  • transa – [in] Array of transpose options for A matrices.

  • transb – [in] Array of transpose options for B matrices.

  • m – [in] Array of row dimensions for each matrix in the batch.

  • n – [in] Array of column dimensions for each matrix in the batch.

  • k – [in] Array of inner dimensions for each matrix in the batch.

  • alpha – [in] Array of scalar multipliers for the product of matrices A and B.

  • a – [in] Array of pointers to A matrices.

  • lda – [in] Array of leading dimensions for A matrices.

  • b – [in] Array of pointers to B matrices.

  • ldb – [in] Array of leading dimensions for B matrices.

  • beta – [in] Array of scalar multipliers for C matrices.

  • c – [out] Array of pointers to C matrices.

  • ldc – [in] Array of leading dimensions for C matrices.

  • group_count – [in] Number of groups in batch.

  • group_size – [in] Array of group sizes.

  • mem_format_a – [in] Array of memory formats for A matrices.

  • mem_format_b – [in] Array of memory formats for B matrices.

  • metadata – [in] Array of pointers to post-operation structures.

void aocl_batch_gemm_bf16bf16f32obf16(const char *order, const char *transa, const char *transb, const md_t *m, const md_t *n, const md_t *k, const float *alpha, const bfloat16 **a, const md_t *lda, const bfloat16 **b, const md_t *ldb, const float *beta, bfloat16 **c, const md_t *ldc, const md_t group_count, const md_t *group_size, const char *mem_format_a, const char *mem_format_b, dlp_metadata_t **metadata)#

User needs to pass Scale Factor for downscaling C Matrix to bfloat16. Refer to aocl_batch_gemm_bf16bf16f32of32 for info on parameters.

void aocl_batch_gemm_bf16s4f32of32(const char *order, const char *transa, const char *transb, const md_t *m, const md_t *n, const md_t *k, const float *alpha, const bfloat16 **a, const md_t *lda, const int8_t **b, const md_t *ldb, const float *beta, float **c, const md_t *ldc, const md_t group_count, const md_t *group_size, const char *mem_format_a, const char *mem_format_b, dlp_metadata_t **metadata)#

Refer to aocl_batch_gemm_bf16bf16f32of32 for info on parameters.

void aocl_batch_gemm_bf16s4f32obf16(const char *order, const char *transa, const char *transb, const md_t *m, const md_t *n, const md_t *k, const float *alpha, const bfloat16 **a, const md_t *lda, const int8_t **b, const md_t *ldb, const float *beta, bfloat16 **c, const md_t *ldc, const md_t group_count, const md_t *group_size, const char *mem_format_a, const char *mem_format_b, dlp_metadata_t **metadata)#

Refer to aocl_batch_gemm_bf16bf16f32of32 for info on parameters.

void aocl_batch_gemm_u8s8s32os32(const char *order, const char *transa, const char *transb, const md_t *m, const md_t *n, const md_t *k, const int32_t *alpha, const uint8_t **a, const md_t *lda, const int8_t **b, const md_t *ldb, const int32_t *beta, int32_t **c, const md_t *ldc, const md_t group_count, const md_t *group_size, const char *mem_format_a, const char *mem_format_b, dlp_metadata_t **metadata)#

Refer to aocl_batch_gemm_bf16bf16f32of32 for info on parameters.

void aocl_batch_gemm_u8s8s32os8(const char *order, const char *transa, const char *transb, const md_t *m, const md_t *n, const md_t *k, const int32_t *alpha, const uint8_t **a, const md_t *lda, const int8_t **b, const md_t *ldb, const int32_t *beta, int8_t **c, const md_t *ldc, const md_t group_count, const md_t *group_size, const char *mem_format_a, const char *mem_format_b, dlp_metadata_t **metadata)#

Refer to aocl_batch_gemm_bf16bf16f32of32 for info on parameters.

void aocl_batch_gemm_u8s8s32of32(const char *order, const char *transa, const char *transb, const md_t *m, const md_t *n, const md_t *k, const int32_t *alpha, const uint8_t **a, const md_t *lda, const int8_t **b, const md_t *ldb, const int32_t *beta, float **c, const md_t *ldc, const md_t group_count, const md_t *group_size, const char *mem_format_a, const char *mem_format_b, dlp_metadata_t **metadata)#

Refer to aocl_batch_gemm_bf16bf16f32of32 for info on parameters.

void aocl_batch_gemm_u8s8s32obf16(const char *order, const char *transa, const char *transb, const md_t *m, const md_t *n, const md_t *k, const int32_t *alpha, const uint8_t **a, const md_t *lda, const int8_t **b, const md_t *ldb, const int32_t *beta, bfloat16 **c, const md_t *ldc, const md_t group_count, const md_t *group_size, const char *mem_format_a, const char *mem_format_b, dlp_metadata_t **metadata)#

Refer to aocl_batch_gemm_bf16bf16f32of32 for info on parameters.

void aocl_batch_gemm_u8s8s32ou8(const char *order, const char *transa, const char *transb, const md_t *m, const md_t *n, const md_t *k, const int32_t *alpha, const uint8_t **a, const md_t *lda, const int8_t **b, const md_t *ldb, const int32_t *beta, uint8_t **c, const md_t *ldc, const md_t group_count, const md_t *group_size, const char *mem_format_a, const char *mem_format_b, dlp_metadata_t **metadata)#

Refer to aocl_batch_gemm_bf16bf16f32of32 for info on parameters.

void aocl_batch_gemm_s8s8s32os32(const char *order, const char *transa, const char *transb, const md_t *m, const md_t *n, const md_t *k, const int32_t *alpha, const int8_t **a, const md_t *lda, const int8_t **b, const md_t *ldb, const int32_t *beta, int32_t **c, const md_t *ldc, const md_t group_count, const md_t *group_size, const char *mem_format_a, const char *mem_format_b, dlp_metadata_t **metadata)#

Refer to aocl_batch_gemm_bf16bf16f32of32 for info on parameters.

void aocl_batch_gemm_s8s8s32os8(const char *order, const char *transa, const char *transb, const md_t *m, const md_t *n, const md_t *k, const int32_t *alpha, const int8_t **a, const md_t *lda, const int8_t **b, const md_t *ldb, const int32_t *beta, int8_t **c, const md_t *ldc, const md_t group_count, const md_t *group_size, const char *mem_format_a, const char *mem_format_b, dlp_metadata_t **metadata)#

Refer to aocl_batch_gemm_bf16bf16f32of32 for info on parameters.

void aocl_batch_gemm_s8s8s32of32(const char *order, const char *transa, const char *transb, const md_t *m, const md_t *n, const md_t *k, const int32_t *alpha, const int8_t **a, const md_t *lda, const int8_t **b, const md_t *ldb, const int32_t *beta, float **c, const md_t *ldc, const md_t group_count, const md_t *group_size, const char *mem_format_a, const char *mem_format_b, dlp_metadata_t **metadata)#

Refer to aocl_batch_gemm_bf16bf16f32of32 for info on parameters.

void aocl_batch_gemm_s8s8s32obf16(const char *order, const char *transa, const char *transb, const md_t *m, const md_t *n, const md_t *k, const int32_t *alpha, const int8_t **a, const md_t *lda, const int8_t **b, const md_t *ldb, const int32_t *beta, bfloat16 **c, const md_t *ldc, const md_t group_count, const md_t *group_size, const char *mem_format_a, const char *mem_format_b, dlp_metadata_t **metadata)#

Refer to aocl_batch_gemm_bf16bf16f32of32 for info on parameters.

void aocl_batch_gemm_s8s8s32ou8(const char *order, const char *transa, const char *transb, const md_t *m, const md_t *n, const md_t *k, const int32_t *alpha, const int8_t **a, const md_t *lda, const int8_t **b, const md_t *ldb, const int32_t *beta, uint8_t **c, const md_t *ldc, const md_t group_count, const md_t *group_size, const char *mem_format_a, const char *mem_format_b, dlp_metadata_t **metadata)#

Refer to aocl_batch_gemm_bf16bf16f32of32 for info on parameters.