slcs-jsc / mptrac

Massive-Parallel Trajectory Calculations (MPTRAC) is a Lagrangian particle dispersion model for the analysis of atmospheric transport processes in the free troposphere and stratosphere.
GNU General Public License v3.0
38 stars 14 forks source link

Adapt mixing module for usage on GPUs #24

Closed lars2015 closed 6 months ago

lars2015 commented 1 year ago

Is your feature request related to a problem?

Describe the solution you'd like

Additional context

lars2015 commented 6 months ago

The function module_mixing() has been ported to and successfully tested on GPUs:

https://github.com/slcs-jsc/mptrac/blob/54e6d58e0fbe632a2c285e0e626e49fbd3c47dc8/src/trac.c#L1913

Best performance was found using #pragma acc atomic update for updating the grid box averages:

https://github.com/slcs-jsc/mptrac/blob/54e6d58e0fbe632a2c285e0e626e49fbd3c47dc8/src/trac.c#L2044