parfor 循环中的归约赋值
什么是归约赋值?
规则要求循环迭代必须是独立的,但归约赋值(或简称归约)是一个例外。归约变量会将依赖于所有循环迭代的值累加在一起,但与迭代顺序无关。有关支持的归约变量的列表,请参阅Reduction Variables。
一个 parfor 循环中的多个归约
您可以在一个 parfor 循环内多次执行相同的归约赋值,前提是每次使用相同的数据类型。
例如,在以下 parfor 循环中,u(i) 和 v(i) 必须为相同的类型。
parfor i = 1:10; X = X + u(i); X = X + v(i); end
同样,以下示例有效,前提是 u(i) 和 v(i) 是相同的类型。
parfor i=1:10 r = foo(r,u(i)); r = foo(r,v(i)); end