Element-wise Operations#

Element-wise operations API for applying mathematical functions to matrix elements.

Function Reference#

void aocl_gemm_eltwise_ops_bf16of32(const char order, const char transa, const char transb, const md_t m, const md_t n, const bfloat16 *a, const md_t lda, float *b, const md_t ldb, dlp_metadata_t *metadata)#

Elementwise operations for GEMM output.

Parameters:
  • order – [in] Memory layout (row-major or column-major).

  • transa – [in] Transpose option for matrix A.

  • transb – [in] Transpose option for matrix B.

  • m – [in] Number of rows in matrix A and B.

  • n – [in] Number of columns in matrix A and B.

  • a – [in] Pointer to matrix A.

  • lda – [in] Leading dimension of matrix A.

  • b – [out] Pointer to matrix B.

  • ldb – [in] Leading dimension of matrix B.

  • metadata – [in] Pointer to post-operation structures.

void aocl_gemm_eltwise_ops_bf16obf16(const char order, const char transa, const char transb, const md_t m, const md_t n, const bfloat16 *a, const md_t lda, bfloat16 *b, const md_t ldb, dlp_metadata_t *metadata)#

Elementwise operations for GEMM output.

Parameters:
  • order – [in] Memory layout (row-major or column-major).

  • transa – [in] Transpose option for matrix A.

  • transb – [in] Transpose option for matrix B.

  • m – [in] Number of rows in matrix A and B.

  • n – [in] Number of columns in matrix A and B.

  • a – [in] Pointer to matrix A.

  • lda – [in] Leading dimension of matrix A.

  • b – [out] Pointer to matrix B.

  • ldb – [in] Leading dimension of matrix B.

  • metadata – [in] Pointer to post-operation structures.

void aocl_gemm_eltwise_ops_f32of32(const char order, const char transa, const char transb, const md_t m, const md_t n, const float *a, const md_t lda, float *b, const md_t ldb, dlp_metadata_t *metadata)#

Elementwise operations for GEMM output.

Parameters:
  • order – [in] Memory layout (row-major or column-major).

  • transa – [in] Transpose option for matrix A.

  • transb – [in] Transpose option for matrix B.

  • m – [in] Number of rows in matrix A and B.

  • n – [in] Number of columns in matrix A and B.

  • a – [in] Pointer to matrix A.

  • lda – [in] Leading dimension of matrix A.

  • b – [out] Pointer to matrix B.

  • ldb – [in] Leading dimension of matrix B.

  • metadata – [in] Pointer to post-operation structures.

void aocl_gemm_eltwise_ops_f32obf16(const char order, const char transa, const char transb, const md_t m, const md_t n, const float *a, const md_t lda, bfloat16 *b, const md_t ldb, dlp_metadata_t *metadata)#

Elementwise operations for GEMM output.

Parameters:
  • order – [in] Memory layout (row-major or column-major).

  • transa – [in] Transpose option for matrix A.

  • transb – [in] Transpose option for matrix B.

  • m – [in] Number of rows in matrix A and B.

  • n – [in] Number of columns in matrix A and B.

  • a – [in] Pointer to matrix A.

  • lda – [in] Leading dimension of matrix A.

  • b – [out] Pointer to matrix B.

  • ldb – [in] Leading dimension of matrix B.

  • metadata – [in] Pointer to post-operation structures.

void aocl_gemm_eltwise_ops_f32os32(const char order, const char transa, const char transb, const md_t m, const md_t n, const float *a, const md_t lda, int32_t *b, const md_t ldb, dlp_metadata_t *metadata)#

Elementwise operations for GEMM output.

Parameters:
  • order – [in] Memory layout (row-major or column-major).

  • transa – [in] Transpose option for matrix A.

  • transb – [in] Transpose option for matrix B.

  • m – [in] Number of rows in matrix A and B.

  • n – [in] Number of columns in matrix A and B.

  • a – [in] Pointer to matrix A.

  • lda – [in] Leading dimension of matrix A.

  • b – [out] Pointer to matrix B.

  • ldb – [in] Leading dimension of matrix B.

  • metadata – [in] Pointer to post-operation structures.

void aocl_gemm_eltwise_ops_f32os8(const char order, const char transa, const char transb, const md_t m, const md_t n, const float *a, const md_t lda, int8_t *b, const md_t ldb, dlp_metadata_t *metadata)#

Elementwise operations for GEMM output.

Parameters:
  • order – [in] Memory layout (row-major or column-major).

  • transa – [in] Transpose option for matrix A.

  • transb – [in] Transpose option for matrix B.

  • m – [in] Number of rows in matrix A and B.

  • n – [in] Number of columns in matrix A and B.

  • a – [in] Pointer to matrix A.

  • lda – [in] Leading dimension of matrix A.

  • b – [out] Pointer to matrix B.

  • ldb – [in] Leading dimension of matrix B.

  • metadata – [in] Pointer to post-operation structures.

void aocl_gemm_eltwise_ops_f32ou8(const char order, const char transa, const char transb, const md_t m, const md_t n, const float *a, const md_t lda, uint8_t *b, const md_t ldb, dlp_metadata_t *metadata)#

Elementwise operations for GEMM output.

Parameters:
  • order – [in] Memory layout (row-major or column-major).

  • transa – [in] Transpose option for matrix A.

  • transb – [in] Transpose option for matrix B.

  • m – [in] Number of rows in matrix A and B.

  • n – [in] Number of columns in matrix A and B.

  • a – [in] Pointer to matrix A.

  • lda – [in] Leading dimension of matrix A.

  • b – [out] Pointer to matrix B.

  • ldb – [in] Leading dimension of matrix B.

  • metadata – [in] Pointer to post-operation structures.

See Also