The development environment and infrastructure is often referred to as DevOps. DevOps in this context is all of the software infrastructure development, testing support, integration, and deployment work in support of the ATDM software application and component development teams, which requires a broad knowledge base and strong skill set in software engineering, the ability to understand the requirements and needs of a diverse set of software development teams, and the ability to work in a complex environment with high demands and expectations. Primary responsibilities for the team are to: (1) coordinate and prioritize tasks for the various teams that provide “DevOps” support for ATDM codes, applications, and customers; (2) develop and help deploy shared build, test, and install infrastructure across the ATDM codes and projects; (3) define and support development, testing, integration, and other related workflows for ATDM projects.
The performance analysis component of this project is focused on both delivering a deeper understanding of the performance bottlenecks for our ATDM codes and strategies to improve that performance on pre-exascale and exascale HPC architectures. Key areas of work include : (1) profiling and performance analysis support for ATDM application/library teams; (2) tuning/optimization of build configurations and environments to support more efficient/faster code generation and execution; (3) testing on next-generation (ATS and CTS) platforms including scalability and performance; (4) vendor engagement on compilers, profiling tools, environments, and runtimes for performance/successful execution; (5) testbed software environment optimization, which utilizes direct feedback from ATDM activities and vendor focused engagement with ECP and NNSA LLVM-based compiler activities.