Pythonの並列処理ライブラリであるdaskで計算処理を行うと、デフォルトでは最大コア数分のスレッドを使って計算を行います。スレッド数を変えて計算するには次の方法があります。
num_workersで指定
compute
メソッドを呼び出すときにnum_workers
というキーワード引数で計算の並列数を指定できます。デフォルトではスレッドを使って並列計算を行うので、これでスレッド数が指定できることになります。
import dask.array as da
z = da.random.normal(0, 1, (1000, 1000))
x = da.sum(z, axis=1)
x.compute(num_workers=2) # 2スレッドで計算
dask.configで指定
computeメソッド呼び出し時に個別にスレッド数を指定するのではなく、まとめて指定したい場合には次のようにします。
from multiprocessing.pool import ThreadPool
import dask
dask.config.set(pool=ThreadPool(20))