Session

Minisymposium: MS6C - Domain Specific Languages (DSLs) for Revolutionising HPC Code Development: A Panacea or Empty Promises?
Session Chair
Event TypeMinisymposium
Domains
Computer Science and Applied Mathematics
TimeWednesday, June 2914:00 - 16:00 CEST
LocationSydney Room
DescriptionProgramming efficient HPC code is difficult and in the domain of the few experts. These challenges look to become more severe in the exascale era as hardware heterogeneity and scale of parallelism will increase significantly. Traditionally HPC application developers have used sequential languages, such as C or Fortran, combined with MPI, OpenMP, or CUDA to determine all aspects of parallelism for their code. But specifying such low level and tricky details are time consuming and not scalable to future exascale machines or scientific ambition. There is however another way, and that is of Domain Specific Languages (DSLs). Often embedded into existing languages, such as Python, these provide abstractions which can then be used as a basis for writing an HPC application. By working within the confines of these abstractions, which are specific to a domain, there is a rich amount of information upon which the compiler can then determine key, but complex, optimisation details. However, DSLs are yet to gain ubiquity in HPC, and in this minisymposium we bring together those interested in application development, compilers, and DSL design to discuss how we can cooperate and address challenges that are limiting the role of DSLs in HPC codes.