nested for inside parfor, writing to shared variable
6 views (last 30 days)
Show older comments
I want to do:
parfor ...
count;
for ...
if ...
count += 1
Do I need to worry about a race condition in this situation?
0 Comments
Answers (1)
Edric Ellis
on 1 May 2020
parfor knows how to handle "reduction" variables like this correctly. (Behind the scenes, each worker process accumulates a partial summation for "count", and then at the end of the loop execution, the partial summations are sent back to the client where the final result is computed.) So, the following loop works as expected:
count = 0;
parfor i = 1:N
for j = 1:N
if i < j
count = count + 1;
end
end
end
count
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!