Может ли ядро CUDA вызывать функцию cublas?

Я знаю, это звучит странно, но вот мой сценарий:

Мне нужно сделать матрично-матричное умножение (A (n * k) * B (k * n)), но мне нужны только диагональные элементы для оценки выходной матрицы. Я искал кубласную библиотеку и не делалНе найти функции уровня 2 или 3, которые могут это сделать. Итак, я решил распределить каждую строку A и каждый столбец B в потоки CUDA. Для каждой нити (idx) мне нужно рассчитать скалярное произведение "A [IDX,:] * B [:, IDX]» и сохраните его как соответствующий диагональный вывод. Теперь, поскольку этот точечный продукт также требует некоторого времени, и мне интересно, могу ли я как-то вызвать здесь функцию cublas (скажем, cublasSdot) для ее достижения.

Если бы я пропустил какую-то функцию cublas, которая может достичь моей цели напрямую (только вычислить диагональные элементы для умножения матрицы на матрицу), этот вопрос можно было бы отбросить.

Ответы на вопрос(2)

Ваш ответ на вопрос