P&K AST (TA Luft 2021 / AUSTAL)
Short description of the Multi-Core-Version of TALDIA and AUSTAL
Parallelization of the dispersion calculation (austalMPI)
To parallelize the calculation, austal processes with identical input data are executed in each core. Internally each process alters a few parameters.
- The quality setting (QS in austal.txt) is reduced. With each doubling of the number of cores, QS is reduced by 1. For 2 cores, QS will be reduced by 1, for 4 cores by 2 and so on.
- The mass flux of all components is divided by the number of processes.
- The initial seed value of the random generator (SD in austal.txt) is set uniquely for all processes. The first process receives a SD of 1000, the second SD and so on. For each process SD is increased by 1000.
During the calculation, results of all cores are summarized after each time step. This adds the mass flux up to the original value and the quality reduction is compensated by the number of independent calculations.
The reduction of QS is the reason for the faster calculation.
Parallelization of the wind field calculation (taldiaMPI)
The program calculates for different dispersion categories and wind directions independent wind fields. Every process works only on a selection of wind fields dependent on the number of cores. All fields are brought together in one lib folder after all processes have finished calculation.
The modified sources are viewable at www.Petersen-Kade.com.
For praxis testing, austal and taldia as well as austalMPI and taldiaMPI were used in version 2.3.2 to calculate the samples in a2k-1.0.6-test-area.zip and a2k-1.0.6-test-scatter.zip from www.austal.de/austal.htm and also some more complex samples.
The comparison of the results of both sets (MPI and none MPI) showed differences, which can be explained with the variation of the seed value (SD).
These differences are ones, which also exist, if a calculation is committed on one core and different seed values.