如何在Julia 1.0中使用多个线程?

osc*_*car 3 multithreading julia

我有一个使用@threads宏的脚本.当我在终端中执行脚本时

$ julia -p 4 my_script.jl
Run Code Online (Sandbox Code Playgroud)

文件包含的位置:

println("This program is using ", Threads.nthreads(), " threads")
Run Code Online (Sandbox Code Playgroud)

打印比我只使用一个线程.我能做错什么?

Bog*_*ski 5

交换机-p 4启动Julia,4个进程而不是线程.

要使用4个线程启动Julia,请使用命令:

$ export JULIA_NUM_THREADS=4
Run Code Online (Sandbox Code Playgroud)

在Bash中(在Windows下使用set JULIA_NUM_THREADS=4命令提示符或$env:JULIA_NUM_THREADS=4Powershell中).

然后你可以像以下一样启动Julia:

$ julia
Run Code Online (Sandbox Code Playgroud)

它将看到4个线程.