Рассмотрим ленточный алгоритм умножения матриц методом горизонтального разбиения.
На исходном этапе каждый процесс получает от корневого некоторое количество строк матриц А и Б, причем число всех строк матрицы не обязательно кратно числу процессоров. Также каждый процесс содержит матрицу частичных результатов С, число строк в которой равно числу строк матрицы А, содержащихся в данном процессе.
Далее на каждой итерации производится умножение строк матрицы А на строки матрицы Б, а результат прибавляется к соответсвующим элементам матрицы частичных результатов. Умножаются только те элементы строк А, номера которых совпадают с номерами строк Б, хранящихся в данном процессе.
Далее происходит обмен данными между всеми процессами таким образом, что после выполнения всех итераций алгоритма в каждом процессе поочередно окажутся все строки матрицы В.