Оценка показателей ускорения и эффективности: Алгоритм Кэннона для своего
выполнения требует q итераций, в ходе которых каждый процессор перемножает свой
текущие блоки исходных матриц и прибавляет результат к текущему значению блока
результирующей матрицы. Общее количество выполняемых при этом операций будет
иметь порядок . В результате
показатели ускорения и эффективности алгоритма имеют вид: , .
В соответствии с правилами алгоритма на этапе инициализации проводится
перераспределение блоков матриц A и B при помощи циклического сдвига матричных
блоков по строкам и столбцам процессорной решетки. Трудоемкость передачи данных
зависит от топологии сети. При топологии полного графа операции могут
выполняться параллельно. Затраты на передачу блоков матриц A и B между
процессорами во время выполнения итераций алгоритма тоже могут выполняться
параллельно. Таким образом, время распределения матриц между процессами и время
сдвига блоков матриц составляет: , где a - латентность, b - пропускная
способность, w - размер элемента матрицы. Cложность выполнения
скалярного умножения строки блока матрицы A на столбец блока матрицы B можно
оценить как , количество
строк и столбцов в блоках равно . Трудоемкость
операции блочного умножения равна . Для сложения
блоков требуется операций. С
учетом всех перечисленных выражений время выполнения вычислительных операций
может быть оценено следующим образом: Просуммировав все полученные соотношения, получим общее время
выполнения алгоритма Кэннона: , где t -
время выполнения скалярной операции.