so for example, if you want to do
M = [1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1]
v1 = [1,2,3,4] (column vector)
v2 = [4,5,6,7] (column vector)
you can either do (M * v1, M * v2) on two cores as r1a = [1 0 0 0
0 1 0 0] * v1 (core 1)
r1b = [0 0 1 0
0 0 0 1] * v1 (core 2)
r2a = [1 0 0 0
0 1 0 0] * v2 (core 1)
r2b = [0 0 1 0
0 0 0 1] * v2 (core 2)
then r1 = flatten([r1a, r1b])
r2 = flatten([r2a, r2b])
OR, you could just have the whole model in each core: r1 = M * v1 (core 1)
r2 = M * v2 (core 2)