🍒
JupyterでマルチスレッドのJuliaを使う
IJulia.jlのカーネルはデフォルトではシングルスレッドです. マルチスレッドを使いたい人は下記をお試しください.
IJulia.jlのインストール
まだJupyter Notebook/Labをインストールしていない人はimport Pkg; Pkg.add("IJulia")
でIJulia.jlを追加しましょう. 詳しい手順は下記の記事で解説しています.
マルチスレッドカーネルの追加
どこで見たアイディアなのか忘れてしまいましたが, ググるとこちらのページに同じコードがあります. 下記のコマンドで, 自動的に最大のスレッド数を指定したJuliaカーネルを追加できます. スレッド数を指定したい場合はこちらのページを参考にしてください.
追加方法
using IJulia
installkernel("Julia (Multi-threads)", "--threads=auto")
追加した後はいつも通りJupyter Labを起動します.
起動方法
using IJulia; jupyterlab(detached=true)
並列化されたカーネルが追加されていることが確認できます.
スレッド数は次のように確認できます.
スレッド数の確認
Threads.nthreads()
追伸
julia -t 4
や julia -t auto
で起動するとREPL上でもスレッド並列が使えます.
4スレッド
julia -t 4
julia> Threads.nthreads()
4
スレッド数の自動決定
julia -t auto
julia> Threads.nthreads()
8
追伸
スレッド並列で実際に速くなる例を用意しました.
Discussion