Jupyter上のJuliaで複数スレッドを実行する方法

 Julia言語を使ってJupyterLabやJupyter notebookで数値計算をする際、カーネルを別に作っていてデフォルトだと使用スレッドが1に制限されていたが、以下の方法で複数スレッドを利用可能になったので、メモ。
(BLASの並列化は多分自動でやってくれるはず)

JuliaのREPLで

    using IJulia
    installkernel("Julia (multi threads)", specname="julia-multi-threads", env=Dict("JULIA_PROJECT"=>"@.", "JULIA_NUM_THREADS"=>"auto"))

とすると、Jupyterのカーネルを作ってくれて、Jupyterを再起動するとJulia (multi threads)というカーネルが利用可能になる。ちゃんと動いているのを確認するには

    Threads.nthreads()

を実行する。


この方法は以下のページを学生さんが見つけてくれて、分かりました。

https://github.com/YoshihiroMichishita/julia/blob/master/tutorial.ipynb

コメント