This ATDM project focuses on design and integration of programming models technologies in existing applications and operating system and runtime system technology development and evaluation.
The purpose of the first subproject is to broaden the impact of programming model technologies developed in ATDM by integrating these technologies into an existing ASC code suite, evaluating the ability of these technologies to be incrementally added into a legacy code base and to deliver performance improvements on current- and next-generation computing platforms. In particular, this subproject focuses on using and evaluating Kokkos and asynchronous many task (AMT) programming models in the NGP Contact code. Kokkos is an abstraction layer that implements a parallel programming model in C++ for writing performance portable applications targeting all major HPC platforms. NGP Contact is a performance-critical proximity search component relevant to many NNSA applications, including ASC production applications that invoke mechanical or thermal contact, coupled physics transfers, and particle algorithms. This project is important the overall ECP efforts because it evaluates how well technologies developed for next-generation applications can be leveraged by existing large application code bases, such as the ASC Sierra toolkit, in an effort to maximize the impact of ECP technologies.
The second subproject focuses on the design, implementation, and evaluation of operating system and runtime system (OS/R) interfaces, mechanisms, and policies supporting the efficient execution of the ATDM application codes on next-generation ASC platforms. Priorities in this area include the development of lightweight tasking techniques, interfaces between the runtime and OS for management of critical resources (including multi-level memory, non-volatile memory, and network interfaces), portable interfaces for managing power and energy, and resource isolation strategies at the operating system level that maintain scalability and performance while providing a more full-featured set of system services. The OS/R technologies developed by this project will be evaluated in the context of ATDM application codes running at large-scale on ASC platforms. Through close collaboration with vendors and the broader community, the intention is to drive the technologies developed by this project into vendor-supported system software stacks and gain wide adoption throughout the community.