Вот по этой ссылке можно посмотреть на детальное сравнение затрат времени на выполнение "наивного" алгоритма перемножения матриц и алгоритмов из мат.пакетов и специализированных библиотек.
Я и сам несколько дней назад провел эксперимент на ту же тему, после чего, собственно, и начал искать, кто что по этому поводу думает. Тогда я выяснил, что при размерности матриц, равной 2000, "наивный" алгоритм на Си уступает по скорости процедуре
cblas_dgemm (я пользовался CBLAS-ом из ATLAS-a, он проводит некоторую оптимизацию констант библиотеки под параметры конкретного компьютера)
в 50 раз.Это как раз примерное соотношение между скоростями работы основной оперативной памяти и кэш-памяти процессора.
Комментариев нет:
Отправить комментарий