Developing and Running Complex Applications with Compiler Directives
Climate scientists writing code have often been weary of multithreading, both on CPU and GPU, due to some aspect of non-reproducibility, across machines and implementations. However, the current state of the ICON model, with about 2 Million lines of code written since 2001, is living proof that porting legacy software to GPUs can be made possible with compiler directives.
Compiler directives, like OpenACC and OpenMP, have played an important role in accelerated scientific computing, especially for imperative languages like Fortran, used in the ICON model. As the new technologies continue to mature, the sustainability of using traditional languages with directives raises new concerns.
How can we keep up with performance optimization if the original code changes too fast? This is one of the questions raised by Thomas Schulthess, director at CSCS who is heading the team porting ICON to GPUs, in his keynote at Open Accelerated Computing Summit (OACS) where he discusses the deep problems that traditional languages with directives are currently facing.
Watch the keynote to learn more about the role of compiler directives in scientific computing moving forward into the future.