Я хочу умножить 3 матрицы (например, E = AxBxC) с использованием общей памяти в многопроцессорном методе. Я могу сделать это с помощью двух матриц, но когда я хочу повторить ту же процедуру для третьей матрицы, я застрял и не знаю, как обращаться с общим массивом. Я знаю, что должен использовать многопроцессорный массив, но не знаю, как его управлять. Вот как я использовал массив в моем коде:Как умножить 3 матрицы с использованием общей памяти в Python?
mp_arr_one = multiprocessing.Array(ctypes.c_int, 3*3)
, а затем в моей функции:
arr = numpy.frombuffer(mp_arr_one.get_obj(), dtype=ctypes.c_int)
res = arr.reshape((3,3))
Все хорошо для первой части (D = Axb), но когда я хочу, чтобы вычислить E = DxC, код идет не так, и результат полностью неверен.
Заранее спасибо.