Amber-MD / cpptraj

Biomolecular simulation trajectory/data analysis.
Other
138 stars 64 forks source link

Fix parallel handling of data in repeated trajectory runs for 'rotate' and 'average' #1113

Closed drroe closed 2 weeks ago

drroe commented 2 weeks ago

Version 6.29.7. Previously, if a dataset was created with rotate or average in parallel the initial trajectory processing run would be fine, but if that data was to be used in a subsequent trajectory processing run that would fail. This is because data sets are synced to master for output, but not broadcast back out to non-master ranks. This PR fixes this behavior for rotate and average. Also adds a test to ensure this works properly for rotate. Should address #1096.

Under the hood, a bunch of MPI broadcast routines have been added to almost all of the DataSet classes. This is to eventually enable syncing datasets across all ranks for running commands like filter in parallel (some time in the future).