Я работаю над проблемой, касающейся псевдокода для умножения матриц с использованием рабочих процессов. w - количество рабочих, p - количество процессоров, а n - количество процессов. Psuedocode вычисляет матричный результат путем деления строк i на P полосок по n / P строк в каждой.
process worker[w = 1 to P]
int first = (w-1) * n/P;
int last = first + n/P - 1;
for [i = first to last] {
for [j = 0 to n-1] {
c[i,j] = 0.0;
for[k = 0 to n-1]
c[i,j] = c[i,j] + a[i,k]*b[k,j];
}
}
}
мой вопрос в том, как бы я справился, если бы n не было кратным P процессорам, как это часто бывает, когда n не делится на p?