使用 ./startup.jl 文件设置 nprocs()
Setting nprocs() using the ./startup.jl file
为什么设置ENV[JULIA_CPU_THREADS]=5
和ENV[JULIA_NUM_THREADS]=5
不影响nprocs()
?这是我在启动时得到的:
julia> versioninfo()
Julia Version 1.3.1
Commit 2d5741174c (2019-12-30 21:36 UTC)
Platform Info:
OS: Linux (x86_64-pc-linux-gnu)
CPU: Intel(R) Core(TM) i5-9600K CPU @ 3.70GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-6.0.1 (ORCJIT, skylake)
Environment:
JULIA_CPU_THREADS = 5
JULIA_NUM_THREADS = 5
julia> nprocs()
1
所以设置了环境变量但是没有分配进程?
原因是线程不是进程。 "parallelism" 有不同的种类。进程用于分布式(多核)计算,线程用于多线程(在单个machine/node上)。有关详细信息,请参阅 Julia 文档的 Parallel Computing 部分。
要使用多个进程启动 Julia,请使用命令行标志 -p N
,其中 N
是工作进程的数量。或者,您可以 addprocs
在脚本中以编程方式添加进程(如 startup.jl)。
为什么设置ENV[JULIA_CPU_THREADS]=5
和ENV[JULIA_NUM_THREADS]=5
不影响nprocs()
?这是我在启动时得到的:
julia> versioninfo()
Julia Version 1.3.1
Commit 2d5741174c (2019-12-30 21:36 UTC)
Platform Info:
OS: Linux (x86_64-pc-linux-gnu)
CPU: Intel(R) Core(TM) i5-9600K CPU @ 3.70GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-6.0.1 (ORCJIT, skylake)
Environment:
JULIA_CPU_THREADS = 5
JULIA_NUM_THREADS = 5
julia> nprocs()
1
所以设置了环境变量但是没有分配进程?
原因是线程不是进程。 "parallelism" 有不同的种类。进程用于分布式(多核)计算,线程用于多线程(在单个machine/node上)。有关详细信息,请参阅 Julia 文档的 Parallel Computing 部分。
要使用多个进程启动 Julia,请使用命令行标志 -p N
,其中 N
是工作进程的数量。或者,您可以 addprocs
在脚本中以编程方式添加进程(如 startup.jl)。