Abstract
This paper presents an application case study of the British Geological
Survey’s (BGS) Geomagnetic Field Modelling System code.
The program consists of roughly 20 000 lines of highly-tuned FORTRAN
MPI code that has a runtime of about 12 hours for a signal
execution cycle on a cluster utilising approximately 100 CPU cores.
The program contains a sequential bottleneck that executes on a
single node of the cluster and takes up to 50% of the overall runtime.
We describe an experiment in which we rewrote the bottleneck FORTRAN
code in SAC, to make use of auto-parallelisation provided
by the SAC compiler. The paper also presents an implementation
of a foreign-function interface, to link the SAC kernel with the
FORTRAN application. Our initial performance measurements compare
the SAC kernel performance with the FORTRAN bottleneck
code; we also present results using an OPENMP Fortran implementation.
Our figures show that the SAC-based implementation
achieves roughly a 12.5% runtime improvement, and outperforms
the OPENMP implementation.
Survey’s (BGS) Geomagnetic Field Modelling System code.
The program consists of roughly 20 000 lines of highly-tuned FORTRAN
MPI code that has a runtime of about 12 hours for a signal
execution cycle on a cluster utilising approximately 100 CPU cores.
The program contains a sequential bottleneck that executes on a
single node of the cluster and takes up to 50% of the overall runtime.
We describe an experiment in which we rewrote the bottleneck FORTRAN
code in SAC, to make use of auto-parallelisation provided
by the SAC compiler. The paper also presents an implementation
of a foreign-function interface, to link the SAC kernel with the
FORTRAN application. Our initial performance measurements compare
the SAC kernel performance with the FORTRAN bottleneck
code; we also present results using an OPENMP Fortran implementation.
Our figures show that the SAC-based implementation
achieves roughly a 12.5% runtime improvement, and outperforms
the OPENMP implementation.
Original language | English |
---|---|
Title of host publication | Proceedings of the 27th Symposium on the Implementation and Application of Functional Programming Languages |
DOIs | |
Publication status | Published - 2015 |
Event | 27th Symposium on the Implementation and Application of Functional Programming Languages - Koblenz, Germany Duration: 14 Sept 2015 → 16 Sept 2015 |
Conference
Conference | 27th Symposium on the Implementation and Application of Functional Programming Languages |
---|---|
Abbreviated title | IFL 2015 |
Country/Territory | Germany |
City | Koblenz |
Period | 14/09/15 → 16/09/15 |