Я хочу сделать следующее матрично-матричное умножение с помощью cublas:
cA(M by K) * cB(K by N) => cAout(M by N)
Я назначил cA с K в качестве ведущего индекса и cB с N в качестве ведущего индекса. Согласно справочнику cublas-4.0, я должен сделать:
HANDLE_ERROR(cublasSgemm(hdl, CUBLAS_OP_N, CUBLAS_OP_N, M, K, N, &alpha, cA, K, cB, N, &beta, cAout, N));
но это не сработало. Вместо этого следующий код дает ожидаемые результаты, буквально переключая cA и cB:
HANDLE_ERROR(cublasSgemm(hdl, CUBLAS_OP_N, CUBLAS_OP_N, N, K, M, &alpha, cB, N, cA, K, &beta, cAout, N));
Версия cublas, которую я использовал, — 4.1.28. Есть ли соглашение об изменении параметров функции? Спасибо!