Parallel processing 在julia中使用FLoops进行并行化
我正在尝试使用floops来运行这个循环以实现并行化。但是,我无法将数据推送或附加到数组中Parallel processing 在julia中使用FLoops进行并行化,parallel-processing,julia,Parallel Processing,Julia,我正在尝试使用floops来运行这个循环以实现并行化。但是,我无法将数据推送或附加到数组中 a=[] b=[] @floop for i in 1:10 @reduce() do (r_df=filter(row-> row.col1==1, df)) result=mean(r_df.col3) push!(a, result) push!(b, i) end end 我尝试在附加数据时使用@reduce宏,但它不起作用。有什么建议可以让这个循环
a=[]
b=[]
@floop for i in 1:10
@reduce() do (r_df=filter(row-> row.col1==1, df))
result=mean(r_df.col3)
push!(a, result)
push!(b, i)
end
end
我尝试在附加数据时使用@reduce
宏,但它不起作用。有什么建议可以让这个循环工作吗?
提前谢谢 问题是多线程推入数组不能并行完成,因为并行意味着它可以以任何顺序发生。你想要的是
a=zeros(10)
b=zeros(10)
@floop for i in 1:10
@reduce() do (r_df=filter(row-> row.col1==1, df))
result=mean(r_df.col3)
a[i] = result
b[i] = i
end
end
感谢@OscarSmith的建议。但是,这会引发一个错误,
LoadError:matching non-definancial
。知道为什么会这样吗?