The Applied Computer Science group at Los Alamos National Laboratory works on a wide array of scientific problems ranging from weapons research and algorithmic co-design to compiler technologies and machine learning. We enable scientists to concentrate on science rather than programming. Our group's mission is to be the vanguard for scientific simulations at extreme scale through the co-design of applications, algorithms, and architectures. Every day we seek to push the boundaries of scientific computing to cater to the needs of NNSA Defense Programs, the nation, and the world.
Applied Computer Science
Basic and applied research supporting national security science
Innovative co-design of applications, algorithms, and architectures in order to enable scientific simulations at extreme scale
Highlights/Publications
- The Future of HPC in Nuclear Security
- MDAnalysis 2.0 and beyond: fast and interoperable, community driven simulation analysis
- Spiner: Performance Portable Routines for Generic, Tabulated, Multi-Dimensional Data
- Supervised and Unsupervised Machine Learning of Structural Phases of Polymers Adsorbed to Nanowires
- Lossy compression of statistical data using quantum annealer
- Quantum Algorithm Implementations for Beginners
Our Mission
We are an interdisciplinary group of about 50 scientists in fields such as physics, computer science, mathematics, and machine learning. With flexible work schedules and a strong interdisciplinary culture, we thrive to tackle challenging scientific applications to leverage the benefits of modern computing architectures, including:
Research Areas/Teams
Co-Design
The Co-design team concentrates on the middleware bridge between application software and the underlying supercomputing hardware: How can middleware adapt to support an application's needs, and, concurrently, how can an application adapt to provide more information to the middleware so it can maximally exploit different platforms? The goal is to ensure that multi-physics applications that rely on sophisticated, distributed data structures and complex sharing patterns run as fast as possible on a variety of massively parallel supercomputers comprising numerous heterogeneous processing units. To achieve this goal, the team defines middleware interfaces that utilize such hardware effectively without interfering with the development of improved physical models in the applications.
Co-design team members have experience and expertise in parallel computing, programming models and languages, run-time systems, advanced hardware architectures, software engineering, numerical methods, and computational physics. They apply these skills to produce the best holistic solution to challenging problems of application performance.
AI and Scientific Computing Team:
The AI and Scientific Computing Team leverages latest technologies in machine learning (ML), artificial intelligence (AI), and high performance computing (HPC) to enable and accelerate scientific discoveries. We apply state-of-the-art ML/AI technologies and computing techniques to create transformative approaches to solving mission relevant and open science problems. Our team works closely with scientists in various domain areas (including biology, chemistry, computer science, data science, engineering, materials science, mathematics, medical science, and physics) to develop scientific computing solutions including workflows, algorithms, parallelism, data management, and data analytics. Our team members have expertise in and keep up to date on parallel computing, AI/ML technologies, scientific workflows, containers, and data infrastructure. This knowledge is transferred to LANL scientists through training workshops and by working directly with project teams. We work extensively on open science projects through the Institutional Computing Program, Advanced Simulation and Computing (ASC) Program, internal and external collaborations with other national laboratories.
Programming Models
The Programming Models team bridges the gap between underlying hardware architectures and the supporting layers of software available to applications. This includes a range of topics from programming languages, supporting compiler infrastructures, runtime software, and application programming interfaces.
Our overall goal leverages all of these activities with a goal of increasing developer productivity and understanding of the interactions between software and hardware. We are driven by challenging applications in a number of areas ranging from computational physics as well as data-intensive Computing.
Weapons Applications Research to Production (WARP)
The Weapons Applications Research to Production (WARP) spans cutting-edge computer science research, modern software engineering, integration of new technologies, and support of core capabilities in production applications. Our team bridges the gap between the laboratory’s computer science research activities and the production application needs of NNSA Defense Programs. Working with teams in the Applied Computer Science group we develop new technologies for large-scale multi-physics applications. Through partnerships with application teams we facilitate rapid adoption of modern software engineering practices and technologies to improve the performance, scalability, portability, and agility of mission applications in production environments.
Our goal is to maintain long-term partnerships with the Laboratory’s mission application teams to modernize existing applications, develop core software infrastructure for applications, and to provide long-term stewardship and support of critical application technologies.
DevOps and Testbeds
We work with production applications teams on modern software engineering approaches that leverage DevOps tools, techniques, and services such as source code management, application build and dependency support, and CI/CD workflows. Additionally, we provide dynamic testbed capability to allow these teams early access to develop and test on emerging compute, network, and storage technologies.
CoDesign Summer School
The Codesign School recruits 6-8 graduate students from varying backgrounds (usually computer science, computational physics, and mathematics) to work on a computational codesign topic, such as novel programming models, on a specific application.