Hi,
mostly showing my astonishment, but I can even understand the figures in this stupid parallelization code
A = [[1.0 1.0001];[1.0002 1.0003]]
z = A
tic()
for i in 1:1000000000
z *= A
end
toc()
A
produces
elapsed time: 105.458639263 seconds
2x2 Array{Float64,2}:
1.0 1.0001
1.0002 1.0003
But then add @parallel in the for loop
A = [[1.0 1.0001];[1.0002 1.0003]]
z = A
tic()
@parallel for i in 1:1000000000
z *= A
end
toc()
A
and get
elapsed time: 0.008912282 seconds
2x2 Array{Float64,2}:
1.0 1.0001
1.0002 1.0003
look at the elapsed time differences! And I'm running this on my Xeon desktop, not even a cluster
Of course A-B reports
2x2 Array{Float64,2}:
0.0 0.0
0.0 0.0
So is this what one should expect from this kind of simple paralleizations? If so, I'm definitely *in love* with Julia :):):)
Best,
Ferran.