最近在尝试学习使用Julia开发并行程序,遇到了几个小问题像各位请教下
在这里我用了文档说明的一个宏@Threads,进行多线程计算
但在编译运行过程中,报错:这个宏没有定义,请求各位看下~
using Base.Threads
help?> @threads
Threads.@threads
A macro to parallelize a for-loop to run with multiple threads. This spawns nthreads() number of threads, splits the
iteration space amongst them, and iterates in parallel. A barrier is placed at the end of the loop which waits for
all the threads to finish execution, and the loop returns.
julia>
另外,我是通过Inteli J上的插件来编译运行的,请问是不是编译运行需要加额外的参数才行?
你可以通过 Threads.nthreads()
看一下目前最多允许多少个线程。我这边默认是1个。
改变线程的上限需要在 julia 启动之前,设置环境变量
应该不需要其他额外的参数了,可用的命令行选项参见 入门 · Julia中文文档 后半部分。
Threads.@threads
中的 @t
小写,用之前可以先在 REPL (命令行) 下面 ?Threads.@threads
看一下帮助,有帮助就说明你函数写对了。
哦,原来如此。有点太粗心了。。。谢谢~