Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

Missing cblas_dzgemm

Marcus_W_1
Beginner
521 Views

Hi,

the documentation of the MKL Library contains the description of the method DZGEMM which is not part of the BLAS Level 3 standard. It seems that the MKL Library contains the Fortran implementation only, is there a reason why a corresponding 'cblas_dzgemm' function is not available?

Kind regards,

Markus

0 Kudos
5 Replies
Chao_Y_Intel
Moderator
521 Views

Markus,

Currently, only the Fortran implementation are supported. If the data is column major, it can also be called by the C code with the following function:

void DZGEMM(const char *transa, const char *transb, const MKL_INT *m, const MKL_INT *n, const MKL_INT *k, const MKL_Complex16 *alpha, const double *a, const MKL_INT *lda, const MKL_Complex16 *b, const MKL_INT *ldb, const MKL_Complex16 *beta, MKL_Complex16 *c, const MKL_INT *ldc);

do you want to add a feature request on cblas interface support on this function as well?

Thanks,
Chao

0 Kudos
TimP
Honored Contributor III
521 Views

Is this different from cblas_zgemm() ?

0 Kudos
Marcus_W_1
Beginner
521 Views

Hi,

dzgemm is similar to zgemm but not identically. Matrix A of the operation C := \alpha * op(A) * op(B) + \beta *C contains real numbers in dzgemm, for zgemm complex numbers are assumed. In theory zgemm is more general than dzgemm but one has to cast each element of matrix A to a complex number and to store the results in a working array before calling zgemm.

dzgemm is not part of the BLAS standard, the MKL library supports the Fortran implementation only. It should be an easy task to add the C interface cblas_dzgemm as well. How can I add a feature request for cblas_dzgemm?

Thanks for your reply and rapid response,

Markus

0 Kudos
Chao_Y_Intel
Moderator
521 Views

Markus,

I added one feature request into our internal database on this, so it will be reviewed during the future product planning. Thanks for the report.

thanks,
chao

0 Kudos
Ying_H_Intel
Employee
521 Views

Hi Markus,

The request was recorded in to DPD200331505  add a  c interface for dzgemm. 

As you know, our product definition review the request and decide if implement or not based on product develop plan. Not all of the request will be implemented.  

I review the record.  As there is workaround  as chao mentioned ( call dzgemm (&n, &alphas, A .. etc), the C interface are not needed, we got only one request since that time,  so it is still open for stronger justification like more user asked.  Do you still need the feature?   If yes, could you please share more info about your project and the feature impact. If it is related to private info, you can send us private message.

Thanks

Ying

0 Kudos
Reply