Есть ли способ распараллелить умножение нескольких матриц в Python? - PullRequest
0 голосов
/ 02 июня 2019

Я пытаюсь умножить 500-1000 матриц и повторить это примерно 1000 раз. Я успешно распараллелил повторяющуюся часть и получил ускорение в 2 раза (для параметров, которые я использую). Можно ли как-нибудь распараллелить умножение матриц?

Поскольку умножение матриц не является коммутативным, я не думаю, что смогу сделать это тривиально, используя Pool.map (), как я делал для шага повторения. Единственный способ, которым я могу подумать о распараллеливании этого, - это разделить 1000 матриц на наборы из 2 смежных и умножить каждую по отдельности, чтобы получить 500 матриц, а затем повторить шаг. Но я не знаю, есть ли какой-либо заранее написанный алгоритм для этого или какой-либо простой способ сделать это.

например -

enter image description here

Пожалуйста, предложите мне метод, или даже какая-то справка подойдет.

...