|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0002401||OpenFOAM||[All Projects] Bug||public||2016-12-16 09:21||2016-12-19 16:25|
|Target Version||Fixed in Version|
|Summary||0002401: Bad parallel performance of volRegion function objects|
|Description||The performance of the volRegion function object on large parallel cases is bad (and in extreme cases can lead to out-of-memory issues), due to the reconstruction of the entire field on the master process before processing is performed. |
A better solution would be for the relevant processing to be performed on the separate processors and then combined as appropriate onto the master.
|Steps To Reproduce||Construct any large case with e.g. > 100M cells and perform parallel decomposition.|
Run parallel post-processing with any volRegion function object and note that evaluation of function object is expensive!
|I agree that the current way 'volRegion' works is inefficient running in parallel and should be re-written. Can you provide a patch for this?|
Here's a potential patch. I've tested it with all available operations on a small number of cases in both serial and parallel and it appears to give identical results to the previous implementation, but functions significantly faster in parallel.
I guess that something similar should be done for the surfaceRegion functionObject as well, though there's less of an efficiency issue there due to the lower dimensionality.
Thanks for the patch. I have updated it to conform to
and applied it to OpenFOAM-4.x:
However it cannot be applied to OpenFOAM-dev due to significant changes in the handling of volRegion. I will make the corresponding changes shortly.
|2016-12-16 09:21||kevnor||New Issue|
|2016-12-16 09:21||kevnor||Tag Attached: functionObject|
|2016-12-16 09:21||kevnor||Tag Attached: volRegion|
|2016-12-16 09:55||henry||Note Added: 0007495|
|2016-12-16 15:26||kevnor||File Added: volRegionTemplates.patch|
|2016-12-16 15:26||kevnor||Note Added: 0007503|
|2016-12-19 16:25||henry||Assigned To||=> henry|
|2016-12-19 16:25||henry||Status||new => resolved|
|2016-12-19 16:25||henry||Resolution||open => fixed|
|2016-12-19 16:25||henry||Note Added: 0007531|