Hi everybody,
I'm trying to use cblas_cgemm in order to perform the operation C = scale*A*conj(A').
Here is the relavent section of code:
assume that m, n, and k are defined with specific values
m = n (because I am doing A*conj(A'))
k is independent of m or n
vector A;
A.resize(m,k);
initialize(A); // populate A w/ some values
int scale = some initial value;
MKL_Complex8 mkl_c8_zero; mkl_c8_zero.real = 0; mkl_c8_zero.imag = 0;
cblas_cgemm(CblasRowMajor, CblasNoTrans, CblasConjTrans, m, n, k, &scale, &A[0], m, &A[0], n, &mkl_c8_zero, &R[0], m);
I run cblas_cgemm in a loop, with k changing but m & n remaining constant. When m < k, cblas gives an error: "Parameter 9 upon entry to cblas_cgemm incorrect."
Here is a sample output of the loop, showing the values of m, n, k, lda, and ldb and the errors. If no error is shown, it means that the cblas_cgemm executed properly.
m = 10: n = 10: k = 6: lda = 10: ldb = 10
m = 10: n = 10: k = 6: lda = 10: ldb = 10
m = 10: n = 10: k = 6: lda = 10: ldb = 10
m = 10: n = 10: k = 6: lda = 10: ldb = 10
m = 10: n = 10: k = 6: lda = 10: ldb = 10
m = 10: n = 10: k = 6: lda = 10: ldb = 10
m = 10: n = 10: k = 6: lda = 10: ldb = 10
m = 10: n = 10: k = 6: lda = 10: ldb = 10
m = 10: n = 10: k = 6: lda = 10: ldb = 10
m = 10: n = 10: k = 6: lda = 10: ldb = 10
m = 10: n = 10: k = 7: lda = 10: ldb = 10
m = 10: n = 10: k = 8: lda = 10: ldb = 10
m = 10: n = 10: k = 9: lda = 10: ldb = 10
m = 10: n = 10: k = 10: lda = 10: ldb = 10
m = 10: n = 10: k = 11: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 12: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 12: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 12: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 12: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 12: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 12: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 12: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 12: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 12: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 12: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 12: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 12: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 12: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 12: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 12: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 12: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 12: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 12: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 12: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 12: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 12: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 12: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 12: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 12: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 12: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 12: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 12: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 12: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 12: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 12: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 12: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 12: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 11: lda = 10: ldb = 10
MKL ERROR: Parameter 9 was incorrect on entry to cblas_cgemm
m = 10: n = 10: k = 10: lda = 10: ldb = 10
m = 10: n = 10: k = 9: lda = 10: ldb = 10
m = 10: n = 10: k = 8: lda = 10: ldb = 10
m = 10: n = 10: k = 7: lda = 10: ldb = 10
m = 10: n = 10: k = 6: lda = 10: ldb = 10
m = 10: n = 10: k = 6: lda = 10: ldb = 10
m = 10: n = 10: k = 6: lda = 10: ldb = 10
m = 10: n = 10: k = 6: lda = 10: ldb = 10
m = 10: n = 10: k = 6: lda = 10: ldb = 10
m = 10: n = 10: k = 6: lda = 10: ldb = 10
m = 10: n = 10: k = 6: lda = 10: ldb = 10
m = 10: n = 10: k = 6: lda = 10: ldb = 10
m = 10: n = 10: k = 6: lda = 10: ldb = 10
I have tried changing the ldb parameter to k, but I get the same errors at the same times...
Any assistance would be appreciated.
Thanks,
Kiran