Решить несколько небольших линейных систем параллельно - PullRequest
0 голосов
/ 03 октября 2018

Я хочу решить 10 линейных систем (Ax = b) в каждой итерации алгоритма.

A каждой системы составляет около 10 x 11 (переопределено).

Процессор имеет 8 ядер.

Если я прошу каждый ЦП решить одну из 10 линейных систем, 6 ЦП должен ждать решения двух последних систем.

Если я решу каждую систему одну за другой с многопоточными решателямибудет ли производительность довольно плохой?Я беспокоюсь о ложном обмене, потому что матрицы A маленькие.

Есть ли в Eigen многопоточный решатель для этой ситуации?

Еще раз спасибо.

1 Ответ

0 голосов
/ 03 октября 2018

Попытка использовать многопоточность в таких крошечных проблемах (10 x 11) только замедлит работу.Если вы хотите добиться большего успеха, чем параллельное выполнение 10 решений, попробуйте найти больше параллельных задач в вашем конвейере.

...