Если вы выполняете матричные вычисления, то существует ли хороший способ разбиения вычислений, в значительной степени зависит от самого вычисления.
Я очень рекомендую книгу Голуба и Ван Лоана "Матричные вычисления, 3-е изд.". В нем есть целая глава, посвященная параллельным вычислениям (гл. 6).
OpenMPI - прекрасное промежуточное программное обеспечение для решения этой проблемы. Поскольку вы делаете это в C ++, вы также можете взглянуть на zeromq. У них разные семантики, и один может быть предпочтительнее вашего проблемного пространства или набора навыков, чем другой.
Кроме того, вы должны знать, что параллельные матричные вычисления (обычно обработка сигналов, но есть множество других приложений) - очень и очень активная область исследований.