初始化后在Julia中添加线程



我知道通过使用初始化REPL,我可以在Julia上使用多个线程

julia --threads 4

但是有没有办法从Julia内部添加线程?我可以通过做这个来更改读数

julia> Threads.nthreads()
1
julia> Threads.nthreads() = 4
julia> Threads.nthreads()
4

但我没有注意到任何性能提升。我有一种感觉,以这种方式设置线程数并不能像我期望的那样工作。

一旦启动Julia,就不能增加线程池。

也许最好的选择是使用带有线程号参数的auto

$ julia --threads auto

julia> Threads.nthreads()
8

需要知道的另一件重要的事情是,Julia可以调用具有自己独立线程池的C库。线性代数BLAS是最显著的例子:

$ julia --threads 2
julia> using LinearAlgebra
julia> BLAS.get_num_threads()
8
julia> Threads.nthreads()
2

相关内容

  • 没有找到相关文章

最新更新