背景
長男が円周率について質問して来たので、モンテカルロ法を思い出し、それからビュホンの針を思い出し、Juliaでの実装がないかを調べた。
Juliaによるビュホンの針の実装
以下を見つけた。
@paralleは使えない!?
Juliaでマルチコアを使う記述方法がどうやら変更があったようで
use Distributed
を宣言して、
@parallel
を
@distributed
に書き換えるだけで動いた。
ベンチマーク
今年作ってビデオカードが買えずにいる仕事でも使ってる自作PCと、有り金全部注ぎ込んで買った8コアのMacBook Proで 試した。
自作PC
大枚叩いて買った8コアのMacBook Pro
@time buffon_par(10000000000) 32.051117 seconds (2.57 k allocations: 107.734 KiB)
おわりに
どうやら、見つけたコードは書籍の中のコードだった様だが、書籍も新しい版が出ているようで、こちらは、 @distributedに変更されていた。