INTERTWinE, Programming Model INTERoperability ToWards Exascale
INTERTWinE addresses programming-model design and implementation for scientific computing at Exascale. The first Exascale computers will appear in the early 2020s; and will be very highly parallel systems, consisting of a hierarchy of architectural levels, such as sockets, processor cores, and vector units. To program such systems effectively and portably, we need to produce robust and efficient Application Programming Interfaces (APIs) on an urgent timescale. A single "silver bullet" API that addresses all the architectural levels does not exist and seems very unlikely to emerge soon enough. We must therefore expect that using combinations of different APIs at different system levels will be the only practical solution in the short to medium term. While there is room for improvement in individual programming models and their implementations, the main challenges lie in interoperability between APIs. INTERTWinE strives to address these challenges and to advance the state of the art in programming-model interoperability at both the specification level and at the implementation level; focusing on leading APIs such as MPI and OpenMP, and driven by real applications from engineering, cosmology, and computational mathematics.