next up previous contents
Next: MERGED nested model Up: BASIC nested model Previous: BASIC nested model   Contents

BASIC nested model performance

We have also investigated the performance of the BASIC model. Table  13 gives the total runtime for several different optimisation levels running on 64 processors.

Table 13: Total runtime for the BASIC nested model over 5475 time steps for different optimisation flags using the PGI compiler. The 3 levels of optimisation were applied respectively to the Makefile, AGRIF/Makefile and IOIPSL/src/Makefile. All tests were run with jpni=8, jpnj=8 and jpnij=64.
Optimisation used Time for 5475 steps (seconds)
-O0 -O0 -O0 1920
-O1 -O1 -O1 2283
-O2 -O2 -O2 1402
-O3 -O2 -O2 1336
-O3 -O3 -O3 1366


The shortest runtime is achieved when either -O3,-O2,-O2 or -O3, -O3, -O3 levels of optimisation are used with very little difference between these. These results are consistent with the non-nested version version of NEMO (c.f. sections 6.6 and 9.2).

The code was also tested on 16 up to 128 processors to examine the scalability of the nested model. For each of these runs an optimisation level of -O3 -O2 -O3 was used as this gave the best performance as detailed above. The scaling results for the BASIC model are given in table 14.

Table 14: Total runtime of the BASIC nested model over 5475 time steps for different processor counts. Optimisation levels of -O3, -O2 and -O2 were applied to the Makefile, AGRIF/Makefile and IOIPSL/src/Makefile respectively.
No. of processors Time for 5475 steps (seconds) Cost per time step (AU's)
16 4397 0.0172
32 2164 0.0169
64 1366 0.0208
128 1636 0.0510


From table 14 we see that the 64 processor run gives the fastest runtime for this particular model. However, the 32 processor run is actually more efficient in terms of the AU usage per model time step. Providing this longer runtime is acceptable, researchers may wish to run this model on 32 processors in order to minimise the cost (in AU's) per model time step.


next up previous contents
Next: MERGED nested model Up: BASIC nested model Previous: BASIC nested model   Contents