https://mathtod.online/@tetu/413121

tetuさん、お世話になっています。
ついに、ついに、ついに、………

#julialang #gcc #dSFMT #OpenMP #FMA

Julia と gcc の死闘、ついに終止符が打たれるのか?!?!?!

40億回のモンテカルロループにかかった時間

Julia帝国軍 → 4.2秒

gcc dSFMT OpenMP FMA 連合軍 → 1.9秒

ついに、gcc連合軍の圧倒的勝利!

しかし、たくさんの血が流された……………

https://mathtod.online/media/DM-mn4TzeuVDBa_1Pzs

#julialang #gcc #dsfmt #openmp #fma

OMP_NUM_THREADS の値によってどれだけ速さが変わるかに興味がある人は添付画像を見て下さい。

CPU: Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz

https://mathtod.online/media/FNHimMxh0n8Z2X6SbfI

#julialang #gcc #dsfmt #openmp #fma

ちなみにマクロ定義を除いたJulia側のコードは次の一行だけです。

findpi_macrosum(n::Int) = (4.0/n) * (@sum i 1:n ifelse(rand()^2 + rand()^2 <= 1.0, 1, 0))

この1行だけで円周率をモンテカルロで計算できる。

https://gist.github.com/genkuroki/45e47f56799aee57c3dc11cda6df869a