Зачем использовать MKL Zgemm, когда gemm3m такой же, но быстрее? - PullRequest
0 голосов
/ 02 октября 2018

Согласно документации MKL :

Процедуры? Gemm3m выполняют матрично-матричную операцию с общими сложными матрицами.Эти подпрограммы аналогичны подпрограммам gemm, но они используют меньше операций умножения матриц.

и

Эти подпрограммы выполняют сложное умножение матриц, формируя действительные и мнимыечасти входных матриц.При этом используются три умножения вещественных матриц и пять сложений вещественных матриц вместо обычных четырех умножений вещественных матриц и двух сложений вещественных матриц.Использование трех вещественных умножений матриц сокращает время, затрачиваемое на операции с матрицами, на 25%, что приводит к значительной экономии времени вычислений для больших матриц.

Если это так, почему Zgemm не считается устаревшим?В чем тут подвох?Использование Zgemm когда-либо лучше?Также существует пакетная версия gemm3m, что означает, что она полезна и для небольших матриц.

1 Ответ

0 голосов
/ 08 апреля 2019

Потому что второй - выполнить операцию со сложными значениями.Когда вы выполняете операцию с реальными значениями, требуется только одно умножение.Когда вы выполняете операцию со сложными значениями, вам нужно 4-х матричное умножение.Этот метод предлагает усовершенствование метода, уменьшающего число умножений матриц с 4 до 3. Когда ваш входной сигнал имеет реальное значение, ежедневный гемм функционирует как лучший выбор.

...