Program Overview
During the 10-week program, students will receive training and lectures on modern topics in HPC and software development, including:
- Parallel programming
- Programming models
- Algorithms
- Hardware architecture and its impact on code design choices
- High-quality software development in collaborative environments
- Visualization and workflow
Students will collaborate in teams to identify and investigate different computational problems within the scientific focus area, and implement solutions guided by mentors with scientific and computational expertise. By working on cutting-edge HPC hardware, students will gain hands-on experience and learn how to effectively communicate their work through posters and oral presentations.
Projects
For the 2025 workshop, there will be 5 different projects for students to choose from. In the projects listed below, students will work in pairs and with their mentors who will oversee their project. The mentors are all established scientists at Los Alamos National Laboratory.
Uncertainty Quantification for Machine Learning Driven Molecular Dynamics
Machine learning interatomic potentials (MLIPs) have fundamentally changed the nature of molecular dynamics (MD) simulations, providing a systematic and repeatable method for scale bridging from electron aware quantum mechanics simulations to large scale electron ignorant atomistic simulations. This is accomplished through building data sets of electronic structure simulations and training MLIP models to the generated data. Since the training procedure is non-deterministic, it is possible to build uncertainty into the MLIP either through parameter uncertainty or by more ad-hoc methods such as ensemble disagreement. This project will develop the tools to pass uncertainties from MLIP models (such as HIPPYNN and ChIMES) into large atomistic simulations performed in LAMMPS. These uncertainties will then be used for a variety of applications, from active learning to generate more robust data sets to error estimation on simulated properties. Across a wide range of fields heuristics will then be developed linking the uncertainty of the MLIP to uncertainties is computed material and chemical properties. Key targets to be addressed in this project include polymer properties (viscosity, glass transition temperature, miscibility, etc.), materials properties (phase diagrams, strength, phase transition kinetics, etc.) and fluid properties (viscosity, density of molten salts).
Efficient and accurate pre-inversion of equation of state data
An equation of state provides vital closure information to the compressible Euler equations by linking the pressure to the energy and density of the material. However, many equations of state are tabulated in density-temperature space, requiring the functional form of the EOS to be inverted to be useful in solving the Euler equations. This inversion can be done inline by iterating on a set of states until a temperature is found that reproduces the correct energy, but significant computational benefit can be found by pre-inverting the table so that it can be tabulated in energy space rather than temperature space. However, the energy grid can be very different than the temperature grid, causing the interpolation accuracy to suffer. The goal of this project is to explore data transformations that can expose tradeoffs between accuracy and performance, especially when running on GPUs. We will using the previously-developed spiner EOS tabular data format as part of the open source Singularity-EOS library developed at LANL. The students will develop the transformation features in the Singularity-EOS and Spiner libraries using modern C++, and test the performance and accuracy on a variety of CPU and GPU combinations including the Venado supercomputer. Students should have familiarity with basic programming concept and will be able to learn GPU programming frameworks such as Kokkos.
Developing and optimizing a distributed, graph-based Quantum Molecular Dynamics code
In this project you will work on the Graph Partitioned Molecular Dynamics (GPMD) Fortran code and its complementary Scalable Ecosystem for Complex Chemical Systems (SEDACS) python code which implement distributed electronic structure calculations used for molecular dynamics simulations on large-scale HPC clusters. You will gain valuable experience with MPI/OpenMP programming in Fortran, python, C++ and experience with CUDA programming using the newest Nvidia architectures available to us on our state-of-the-art Venado supercomputer. You will learn how to interface programming languages (C++, Fortran and python) and how to use Nvidia profiling tools for optimizing the GPMD and SEDACS codes. In addition, you will help to develop mixed-precision implementations of quantum mechanical matrix solvers using Nvidia Tensor cores, Nvidia’s high-performance Artificial Intelligence hardware.
Sparse Solvers on GPUs
The solution of sparse systems of equations is an integral part of multiphysics simulations- the equations of radiation diffusion, heat conduction, turbulence, etc. all generate sparse systems of equations that must be solved during a simulation. Selected student would implement Krylov solvers such as conjugate gradient or BiCGStab in Kokkos. Solvers would be used and optimized within LANL premier inertial confinement fusion (ICF) simulation tool, xRAGE on both CPU and GPU based HPC platforms such as Rocinante, Venado, and El Capitan like systems. Students would gain knowledge of: the Kokkos performance portability abstraction; profiling tools such as VTune, Nsight Systems, and ROCProf; and running real multiphysics simulations on HPC platforms.
Quantifying Numerical Mixing in Ocean Models
Numerical ocean models are critical tools for understanding how the oceans shape weather and climate patterns. However, ocean model fidelity is constrained by different types of numerical errors that arise from representing physical processes with discrete approximations. One of these errors is numerical mixing, the spurious mixing generated by the discretization of tracer transport by currents. Numerical mixing has been shown to be a significant source of bias in other ocean models regardless of the horizontal resolution, but has not yet been assessed in E3SM. The proposed project is to assist in analyzing numerical mixing in idealized simulations within the DOE’s Energy Exascale Earth System Model (E3SM). This includes the current model, the Model for Prediction Across Scales-Ocean (MPAS-O), and Omega, a next-generation model in c++ designed for modern supercomputers with GPUs. The PCSRI project will involve quantifying the amount of numerical mixing using a discrete variance decay (DVD) algorithm in a series of ocean configurations of complexity ranging from 2D overflows to 3D eddying channels. The student will help document and optimize the computational performance of the DVD algorithm, and aid in the development and analysis of idealized simulations. They will be involved in team discussions that plan how to assess the biases caused by numerical mixing in realistic ocean simulations.
Resources
The Parallel Computing Summer Research Internship covers a broad range of topics that you may not have encountered in your studies. To help augment your education, the mentors have compiled a list of recommended reading and reference materials. Some of these will be used as reference material during the summer. We certainly don't expect students to read all of these references prior to the summer, but should be used in the course of your career. Books without links can be found in the LANL library or on one of our bookshelves.
- Prerequisites
- Familiarity with Unix/Linux environment
- Familiarity with a real editor (emacs, vi)
- Software Development
- Software Carpentry
- "The Pragmatic Programmer," by Andrew Hunt & David Thomas
- Pro Git
- Scientific Programming
- C
- Fortran
- C++
- Parallel Programming
- Introduction to High Performance Scientific Computing, by Victor Eijkhout (free download via bitbucket & excellent exercises in the Tutorials chapter)
- Introduction to Parallel Computing
- An Introduction to Parallel Programming, by P.Pacheco and M.Malenski, 2nd Edition (2021)
- OpenMP
- Tutorials
- Hands-On Introduction to OpenMP (PDF)
- OpenMP Tutorials at Supercomputing Blog
- Message Passing Interface (MPI)
- HPC Systems
- Schedulers - Slurm & Moab
- Compiler/hardware optimization (PDF)
- Computer Architecture Course at CMU w/ lecture materials (video & ppts)
- Numerical Methods, Patterns & Algorithms
- "Finite Difference Schemes and Partial Differential Equations," by John C. Strikwerda
- "Computational Methods for Fluid Dynamics," by J.H. Ferziger and M. Peric
- "Numerical Mathematics," by A. Quarteroni, R. Sacco, and R. Saleri (Earlier release available online, Google " Quarteroni Numerical Mathematics"
- Structured Parallel Programming with Deterministic Patterns (PDF)
- Algorithmic Skeletons: Structured Management of Parallel Computation (PDF)
- Parallel Random Numbers: As Easy As 1, 2, 3
- Parallel Algorithms for Monte Carlo Particle Transport Simulation on Exascale Computing Architectures
- Good Reading
- Bytes for thought (controversial)
- Proxy applications and procurement benchmarks:
- NERSC-8/Trinity Benchmarks
- CORAL Collaboration Benchmark Codes
- ASC Proxy Applications
- Co-Design at Lawrence Livermore National Lab
Shane Fogerty
XCP-2
sfogerty@lanl.gov
Application Guidelines
This highly-selective program is designed for graduate students and advanced undergraduates from all STEM fields. Recent graduates from an accredited U.S. university may also qualify as a post-baccalaureate or post-masters if they are within a year or two of their degree. As a general guideline, students should have moderate experience with a compile scientific computing language, such as C, C++, or Fortran and with the Linux operating system. Applicants must be U.S. citizens enrolled at an accredited U.S. university. As part of the application process, please provide the following documentation:
- Current resume (Please state citizenship in your application)
- Letter of intent describing your:
- Research interests and experience
- Computational/computing experience
- Interest in the program
- Overall strengths and goals
Fellowship Stipend
Participants will receive a fellowship stipend, the amount to be determined based on your current academic rank, generally between $9,000 and $17,000. You will be responsible to cover your own travel, food, and housing. Housing is in short supply in Los Alamos during the summer, so we encourage acting early and will be available to provide resources to find housing.
During your 10-week internship, we hope you have the opportunity to explore and enjoy Los Alamos and the surrounding area. Here are some links we've compiled to help you with your stay:
Student Programs (housing, transportation, living, and more!)
Housing
-
Living in Los Alamos (links to help you navigate the area and find resources)
Connect with other students at LANL
-
Students@LANL Facebook
-
LANL Student Association
Fitness
- LANL Wellness Center Health & Fitness facilities (available to LANL hires who have taken the required training)
- YMCA provides special rates for limited duration summer students with a college ID
- 3 mos is $75, 1 month is $30, 1 week is $15; And there is no sign up fee
- Website: The Family YMCA
Summer Entertainment (not generally listed in the Living in Los Alamos link)
-
The Gordons' Summer Concerts provide great evening entertainment. It's where you'll find much of the town on a Friday night.
-
The Los Alamos Daily Post lists events
-
Facebook is a key communication mechanism in the Los Alamos community - a popular one is KEEP IT LOCAL-Los Alamos
NOTE: If you're coming with a spouse or children, let us know so that we can point you to resources (e.g., childcare, activities, etc.) If your questions about living in Los Alamos are not answered in these resources, feel free to send us an email.