Из различных способов реализации кода умножения матриц в TPL с использованием Parallel.For, что обеспечит лучшее ускорение следующих схем (предположим, у вас 8-ядерный компьютер, а размер матрицы для умножения составляет не менее 5000×5000).
1. Только внешний цикл i реализован как Parallel.For.
2. Только внутренний цикл k реализован как Parallel.For.
3. Все три цикла i, j, k реализованы как Parallel.For.
Код:
Parallel.For (0, n, i =>
{
for (int j = 0; j < n; j++)
{
for (int k = 0; k < n; k++)
C[i, j] += A[i, k] * B[k, j];
}
});
Задача ещё не решена.