Past Summer Research Projects
Berkeley Lab’s Computing Sciences summer program offers college undergraduates, graduate students, and faculty opportunities to collaborate with NERSC staff on various science and technology research projects.
NERSC staff will begin posting 2025 summer research projects in January. Until then, please refer to the following list for examples of the types of projects we field each year. If you see something you are interested in, please feel free to inquire with the mentors of last year’s program about the upcoming year.
Past Projects (2025 Projects Will Begin Posting in January)
Quantum Computing
Quantum Algorithm Development for Neutral Atom Hardware
Science/CS Domains
Quantum simulation, condensed matter physics, neutral atom hardware, high performance computing, quantum computing
Project Description
Recent experiments utilizing neutral atom quantum simulators have deepened our understanding of quantum phases of matter, a fundamental aspect of strongly correlated quantum physics. In this project, the intern will collaborate with a team of scientists from QuEra, a startup specializing in neutral atom quantum hardware, and NERSC. The goal is to develop and implement quantum applications that are specifically tailored to the capabilities of neutral atom hardware, with an emphasis on applications that can enhance scientific computing. Our focus will be on designing algorithms to investigate the dynamics and phases within condensed matter physics models. These algorithms will be tested both numerically using NERSC's classical computing resources and experimentally on QuEra's neutral atom quantum hardware in analog mode.
Desired Skills/Background
- Experience with Julia or Python and quantum computing algorithms
- Some knowledge of condensed matter physics
Mentor
Katie Klymko (kklymko@lbl.gov)
Application Performance
BilboMD: Implementing an experiment-driven multistep data analysis pipeline on Perlmutter
Science/CS Domains
high performance computing, experiment-driven computational workflows, protein structure (small angle X-ray scattering), molecular dynamics, software engineering, performance monitoring and analysis
Project Description
Experiment-driven simulation workflows are complex multistep recipes that require multiple technologies to be pipelined together while making efficient use of available resources on a supercomputing system. The BilboMD team aims to create a pipeline that will ultimately provide users with a molecular model of a system of interest-based molecular dynamics (MD) models generated by Alphafold and empirical data from small-angle X-ray scattering (SAXS).
The pipeline uses the following as inputs: 1) The amino acid sequence of a single protein or of several proteins that are known to interact with each other, and 2) The associated SAXS data file. SAXS data will have been collected and minimally processed at the SIBYLS beamline at the Advanced Light Source (ALS) at Berkeley Lab.
The pipeline will then generate an initial model using Alphafold. Molecular dynamics are then generated using a package called CHARMM, followed up by FoXS and MultiFoXS runs to compare the molecular dynamics models with the experimental SAXS data.
This summer, we propose a project to focus on different aspects of implementing this pipeline. Successfully completing this project will enhance our understanding of optimal resource utilization for workflow orchestration on our current Perlmutter system. The lessons learned will also be applicable to future computing systems.
The project will focus on
- Web development: Setting up job submission pipeline from a web app in SPIN using the Superfacility API, along with Continuous Integration pipelines with GitHub Action;
- Alphafold: Running scaling studies;
- Data Visualization: Creating scripts to analyze/visualize the results of simulations with experimental data to present to the end user; and,
- Performance Monitoring.
Other possible subprojects include
- GPU Performance: Profiling molecular dynamics applications for GPU utilization, and
- Cheminformatics: Translating input parameter lists for different MD programs.
Desired Skills/Background
- Experience with Node.js, ReactJS, web development, software build systems, and software packaging and containerization tools
- Experience with molecular dynamics programs
- Experience with HPC systems
- Nice to have skills/background
- Experience with GPU programming
- Experience with Continuous Integration practices
- Python, Javascript
Mentors
Dhruva Kulkarni (dkulkarni@lbl.gov), Scott Classen (sclassen@lbl.gov), Neil Mehta (NeilMehta@lbl.gov)
Profiling and Benchmarking GPU-based Workflows Extracted from HEP Experiments
Science/CS Domains
high performance computing, containerization, software engineering, performance optimization and analysis, programming models, continuous integration
Project Description
High Energy Physics (HEP) experiments increasingly use GPUs for various data processing tasks. However, the portability and performance of GPU-based workflows across different hardware architectures and software layers remain a challenge.
The Portable Parallelization Group at the High Energy Physics Center for Computational Excellence (HEP/CCE) has undertaken the task of porting representative GPU-based workflows from HEP experiments to explore the strengths and weaknesses of different portability layers. This summer, we propose a project to focus on setting up continuous integration pipelines, profiling and benchmarking these applications across different portability layers and possibly different hardware architectures. By focusing on profiling and benchmarking GPU applications, the project aims to provide crucial insights into the performance and portability of HEP workflows. Successful completion of this project will not only enhance our understanding of GPU utilization in HEP experiments but also contribute to the development of optimized solutions for future computing systems.
The project will focus on the following tasks:
- Setting up continuous integration pipelines with GitHub Action
- Profiling GPU Applications:
- Use profiling tools to analyze the performance characteristics of GPU-based workflows.
Identify bottlenecks and areas for optimization within the applications. - Generate detailed performance metrics to evaluate the efficiency of different hardware/portability layer combinations.
- Use profiling tools to analyze the performance characteristics of GPU-based workflows.
- Benchmarking Across Hardware/Portability Layers:
- Compare the performance of workflows when utilizing different portability layers such as Kokkos, SYCL, alpaka, OpenMP, and std::par.
- (Optional) Evaluate the performance of each workflow across different hardware architectures.
- Creating Performance Plots:
- Develop wrappers to automate the execution of workflows and generate standardized performance plots.
- Enable visualization of performance metrics to facilitate comparison across different hardware and portability layers.
- Ensure reproducibility and regression testing by permitting compilation and execution with different versions of compilers and portability layers.
Optional Work Areas (for consideration):
- Containerization of Mini-Apps:
- Package the GPU-based workflows into mini-apps using containerization technology.
Ensure the mini-apps are portable and can be deployed across different facilities without system-specific dependencies. - Develop turn-key solutions for easy deployment and execution of the mini-apps, enabling rapid evaluation of new systems.
- Package the GPU-based workflows into mini-apps using containerization technology.
- Enhancing Containerization: Further optimize the containerization process for improved efficiency and ease of deployment.
- Integration with Continuous Integration/Continuous Deployment (CI/CD) pipelines: Explore integration with CI/CD pipelines to automate testing and deployment processes.
- Exploring New Portability Layers: Investigate emerging portability layers and assess their suitability for GPU-based HEP workflows.
Desired Skills/Background
- Experience with C++, software build systems and software packaging and containerization tools
- Experience with GPU programming
- Experience with HPC systems
Nice to have:
- Experience with software portability layers for GPU programming (Kokkos, SYCL, alpaka, OpenMP or std::par)
- Experience with Continuous Integration practices
Mentors
Pengfei Ding (pding@lbl.gov), Dhruva Kulkarni (dkulkarni@lbl.gov), Charles Leggett (cgleggett@lbl.gov)
Creating Proxy-App for Density Functional Theory Code
Science/CS Domains
density functional theory, high performance computing, performance optimization and analysis, programming models
Project Description
For this project, we invite summer researchers to explore profiling, proxy app development strategies, and benchmarking for QE-based DFT simulations.
Quantum chemistry codes use a significant amount of NERSC computational time. Density Functional Theory (DFT) simulations, particularly, are highly popular within the material science research community. DFT is used to model the electronic state of a many-body system from ab initio (first principles), thereby enabling the prediction of fundamental material properties. DFT relies on solving Kohn-Sham equations, which are a set of n one-electron Schrodinger-like equations. Codes such as VASP and Quantum Espresso (QE) are popular frameworks for solving DFT. The open-source nature of QE makes it a good candidate for understanding the code flow for profiling and optimizing studies of DFT computational problems. QE contains many constitutive components, but our focus is on the plane-wave self-consistent field (PWscf) part of the code.
This project would involve several key tasks, including understanding the code pattern and profiling its performance as we solve a prototype problem using PWscf. The typical DFT cycle involves density approximations, setting up matrixes, solving the Kohn-Sham equations, evaluating new density, comparing with base value, and updating density approximation. QE is written in FORTRAN and C. Based on the findings from code path analysis, we intend to verify code performance. We also intend to create a simpler proxy app, which mimics the computational load of the above loop and will be written in C++. By completing this project, the summer researcher would gain hands-on experience in high performance computing, parallel programming, and profiling and optimization toolkits. Additionally, the results of this project would provide experience in using HPC for physics problems with broader applicability and the NERSC programming environment.
Desired Skills/Background
- Experience with programming models
- Experience with density functional theory
Mentors
Neil Mehta (neilmehta@lbl.gov), Rahul Gayatri (rgayatri@lbl.gov), Jack Deslippe (jrdeslippe@lbl.gov)
Exploring FORTRAN Parallelism Using Kinetic Monte Carlo Code
Science/CS Domains
software engineering, high performance computing, performance optimization and analysis, programming models
Project Description
For this project, we invite summer interns to explore parallelization strategies for Kinetic Monte Carlo simulations.
Kinetic Monte Carlo is a probabilistic method used to study the time evolution of spatio-temporal processes. In our code, Kinetic Monte Carlo has been used to study ice accretion and ablation from silicon and graphene surfaces due to the presence of atomic nitrogen and oxygen. Inputs to the code are the rates at which the volume of oxygen and nitrogen impinge the surface, as well as the adsorption and ablation rate obtained from molecular dynamics simulations. The code has the following surface-side constituents: grid building, acceptance-rejection algorithm, and surface grid update steps. On the particle side, the code contains particle trajectory mapping and boundary condition implementation. Currently, this code has been written in FORTRAN 77 language and runs serially on a CPU.
This project would involve several key tasks, including understanding the code pattern and profiling its performance, porting the code to a 2008 standard FORTRAN, and identifying optimization opportunities in the code. Optimization strategies will include using ‘do concurrent,’ ‘coarrays,’ and using ‘simple’ versus ‘pure’ subroutine implementations. The acceptance-rejection algorithm is compute-intensive and provides opportunities to explore strategies for efficient implementation of efficient random number generation. By completing this project, the summer researcher will gain hands-on experience in high performance computing, parallel programming, and profiling and optimization toolkits. Additionally, the results of this project will provide experience in using HPC for physics problems with wider applicability and the NERSC programming environment.
Desired Skills/Background
- Experience with programming models,
- Experience with FORTRAN (2008)
Mentors
Neil Mehta (neilmehta@lbl.gov), Brad Richardson (brad.richardson@lbl.gov), Jack Deslippe (jrdeslippe@lbl.gov)
Robust (Re)build System in the Fortran Package Manager
Science/CS Domains
software engineering, programming models
Project Description
The Fortran Package Manager (fpm) has grown significantly in popularity and capabilities over the past few years. It provides a convenient and easy to use build system and dependency management tool to the growing, open-source Fortran community. While the current implementation is capable of parallel compilation, it still has some bugs in the source-file dependency and rebuild detection features. Improvements to fpm will greatly improve the productivity of Fortran programmers, a widely used language in the DOE.
This project involves several key tasks, including the following:
- Analyzing the existing dependency detection algorithms and identifying bugs or logic errors.
- Understanding the existing dependency tree structure, and devising and implementing an algorithm to successfully perform only the necessary recompilation tasks required by detecting changes in files and how those impact files that depend on them.
- Deploying and testing fpm with these new features targeting NERSC supercomputers (Perlmutter)
- Documenting and sharing through a blog post, presentation, or poster the new capabilities
- Exploring further enhancements to fpm as time allows
Desired Skills/Background
Experience with modern Fortran and Build systems
Mentors
Brad Richardson (brad.richardson@lbl.gov), Brandon Cook
Investigating Load Balancing Efficiency and Potential Algorithmic Improvements in Mesh-and-Particle Frameworks
This project is no longer accepting applicants.
Science/CS Domains
software engineering, algorithm design, statistical analysis, high performance computing, discrete optimization, performance optimization and analysis
Project Description
We are seeking an enthusiastic summer student(s) to define the current load balancing (LB) efficiency of AMReX algorithms on real applications and to potentially improve the overall performance through LB algorithm advancements, LB implementation, and/or better selection of runtime data for the LB calculation.
Load balancing is extremely important for large scale, massively parallel simulations. Current LB algorithms are generally simplistic as calculations must be done at runtime, rely on accurate selection and measurement of runtime parameters, and include a large number of simplifications with various impacts on the final solution. As both hardware and simulations increase in complexity and power, having the best possible LB has an increasing effect on an HPC code’s performance.
This investigation seeks to understand the efficiency of the knapsack and SFC algorithms used by the current block-structured, GPU-enabled, mesh-and-particle framework, AMReX. This includes comparing these algorithms to the optimal LB solution, statistical analysis on both randomly generated and full-scale LB data to understand the strengths and limitations of each algorithm, and researching potential improvements.
In this project, selected summer students will create parallel computational tools to perform these statistical analyses of LB data, investigate how to present the analysis for publication, and explore potential improvements that interest them, including improving the algorithms directly, researching other possible LB algorithms, and expanding the implementations to include additional runtime information. Improvements made by the student could have far-reaching impacts as AMReX is the framework for a wide variety of applications.
Desired Skills/Background
- Experience with C++ and Python
- Experience with algorithm development
- Experience with statistics / statistical analysis
- Experience with parallel codes and parallelization (MPI and/or OpenMP)
- Experience performing scientific research
Mentors
Kevin Gott, Hannah Ross, Rebecca Hartman-Baker, Jack Deslippe
This project is no longer accepting applicants.
Optimize the Weather Research and Forecasting Model with Codee tools
Science/CS Domains
Code optimization, performance optimization and analysis, high performance computing, weather/climate
Project Description
The Weather Research and Forecasting (WRF) Model is a numerical model for the atmosphere and is widely used in research projects worldwide, including those funded by the DOE Office of Science. The model has been developed through the collaboration of several organizations and the user community, and its source code is maintained in Github by the Mesoscale and Microscale Meteorology (MMM) Laboratory of the National Center for Atmospheric Research (NCAR).
WRF is very flexible in terms of scientific and computational configurations. The model can be configured to simulate a broad range of atmospheric processes from boundary-layer turbulence to global-scale circulations and from a small domain on a single node to a large domain using 10s and 100s of nodes (1000s of CPUs) of the NERSC system.
Most of the WRF source code is written in Fortran with shared-memory (OpenMP) and distributed-memory (MPI) parallelisms. While the code performance has been shown to scale well on many HPC platforms, not all parts of the code are optimized for the latest, heterogeneous computing systems like Perlmutter. In particular, the current WRF code lacks GPU off-loading, thus it can't take advantage of Perlmutter's full capability.
The main goal of this internship is to optimize the WRF code for Perlmutter using the Codee tool. Codee is a suite of command-line tools that automates code inspection from the performance perspective. Codee scans the source code without executing it and produces structured reports to help software developers build better-quality parallel software in less time. The tool can detect and fix defects related to parallelism with OpenMP and OpenACC.
The student will work with mentors from NERSC, Codee developers (Appentra Solutions S.L.), and WRF model experts from DOE labs. The project involves several key tasks, including the following:
- Understanding the basic structure of WRF source code and obtaining general ideas of physical processes simulated by the model
- Analyzing the WRF code with Codee and identifying opportunities for performance improvement
- Benchmarking WRF on Perlmutter to identify the bottlenecks for the performance
- Modifying sections of the WRF code with the Codee tool to improve computational performance on Perlmutter
- Documenting the workflow and optimization results through presentations in NERSC user group meetings, NERSC documentation, and academic venues
- Exploring further performance enhancements as time allows
Desired Skills/Background
- Experience with Fortran
- Experience with parallel programming using MPI, OpenMP/OpenACC
- Experience with HPC systems
NERSC Mentors
Woo-Sun Yang (wyang@lbl.gov), Helen He (yhe@lbl.gov), Brad Richardson (brad.richardson@lbl.gov)
Data/Machine Learning
Enabling BonDNet for Complex Reaction Network Active Exploration
Science/CS Domain
computational chemistry, deep learning
Project Description
Constructing and analyzing chemical reaction networks (CRNs) for extreme ultraviolet (EUV) lithography is vitally important for the rational design of photoresist materials and for deepening mechanistic insights. However, the comprehensive enumeration and Density functional theory (DFT) simulation of species and reactions to be included in such CRNs are highly computationally expensive. In this project, we will leverage BonDNet, a graph neural network designed to predict reaction energies for charged molecules, to expedite the construction of CRNs. This will be achieved through an iterative workflow in conjunction with other quantum chemistry tools. Given the primary challenge of this iterative workflow, our focus will be on improving the efficiency of BonDNet to enable training on large reaction energy datasets, scaling BonDNet to a multi-node, multi-GPU setup, and incorporating reliable uncertainty quantification into the active learning loop.
Desired Skills/Background
-
Required: Experience with Python and PyTorch, graph neural networks, knowledge of statistics, interest in AI for chemistry.
-
Nice to have: Experience with uncertainty quantification, distributed training, computational chemistry background.
NERSC Mentors
Wenbin Xu (wenbinxu@lbl.gov), Steven Farrell (sfarrel@lbl.gov)
This position has been filled for 2024
Workflows Functions as a Service on HPC
Science/CS Domain
high performance computing, workflows, data, Python
Project Description
Investigate different Functions as a Service (FaaS) tools and how they work in an HPC environment. Many cloud providers offer serverless compute capabilities in the form of Functions as a Service (AWS Lambda, Google Cloud Functions, Azure Functions). As cloud technologies become more popular, the HPC user community wants to explore ways to deploy these types of services on the resources they have available to them. Some open-source solutions to FaaS use Kubernetes or other orchestration technologies to coordinate these serverless functions. However, not all solutions can work on a shared resource like Perlmutter at NERSC. The goal is to investigate different FaaS platforms, investigate the feasibility of running these technologies at NERSC, and compare them to HPC-focused workflow tools.
Desired Skills/Background
-
Required: Python, Linux, Docker or other container technologies
-
Nice to have: Knowledge of REST APIs, go, rust, heard of Kubernetes
NERSC Mentors
Nick Tyler (tylern@lbl.gov)
This position has been filled for 2024
Performance analysis of scientific AI workloads for next-gen HPC systems
Science/CS Domain
machine learning, performance analysis + optimization, high performance computing
Project Description
Explore performance analysis and optimization of scientific AI workloads on next-generation HPC systems through this internship project. The focus is on addressing the increasing complexity and computational requirements of scientific AI, especially in the context of foundational models for science. The goal is to improve efficiency and scalability by delving into sophisticated parallelism techniques and advanced AI computing hardware. The intern will work with cutting-edge applications from MLPerf and ongoing research projects to gain insights that can contribute to future HPC system designs at NERSC, facilitating tomorrow’s scientific discoveries with AI.
Desired Skills/Background
- Required: Python, experience with ML and/or performance analysis
- Nice to have: Data parallelism, model parallelism, AI hardware
NERSC Mentors
Steven Farrell (sfarrell@lbl.gov), Shashank Subramanian (shashanksubramanian@lbl.gov), Peter Harrington (PHarrington@lbl.gov), Ermal Rrapaj (ermalrrapaj@lbl.gov)
This position has been filled for 2024
Improved Forecasting of Wind Power using Physics and AI
Science/CS Domain
Renewable energy, atmospheric science, machine learning, high-performance computing
Project Description
Accurate prediction of wind power is crucial for the functioning and growth of renewable energy but presents multiple challenges. The sources of error include (1) lack of asset-level wind forecasts and (2) intrinsic biases for wind power response curves, among other more general forecasting uncertainties. This project aims to develop machine learning models for forecasting wind power by improving understanding of the various sources of errors and identifying which features are most predictive of downstream power generation. This will include analysis of physics-based models (WRF/LES), observational data, weather forecasts, and power output information from ISOs using AI/ML methods to create more robust wind power forecasts.
Desired Skills/Background
-
Proficiency in Python and experience with machine learning frameworks (e.g., TensorFlow, PyTorch).
-
Prior experience in training large deep learning models (such as transformers, etc)
-
Experience with data processing, analysis, and visualization tools (e.g., Pandas, Matplotlib, GIS software).
-
Nice to have: Knowledge of physics based models such as WRF, LES
NERSC Mentors
Pratik Sachdeva, Ryan Zarcone, Mayur Mudigonda (hiring@vayuh.ai), Shashank Subramanian, Peter Harrington, Wahid Bhimji, Ashesh Chattopadhyay
This position has been filled for 2024
“Fair Universe” Uncertainty aware large-compute-scale AI platform for fundamental science
Science/CS Domain
machine learning, high performance computing
Project Description
We are building a supercomputer-scale AI ecosystem for sharing datasets, training large models, and hosting machine-learning challenges and benchmarks. This ecosystem will be initially exploited for a ML challenge series, based on novel datasets and progressively rolling in tasks of increasing difficulty focussing on discovering and minimizing the effects of systematic uncertainties in physics. You will work with a multidisciplinary team including machine learning researchers and physicists to build AI challenges, models and software that exploit supercomputers at NERSC. We expect to run one of the challenges later in the year targeting NeurIPS 2024. Projects could range from software development on the machine learning platform, to running the challenge itself, to refining the datasets, tasks, and metrics.
Desired Skills/Background
- Required: Python development and some machine learning frameworks (e.g PyTorch).
- Nice to have: Dataset related projects in High-Energy Physics experience useful, for other projects not-required
NERSC Mentors
Wahid Bhimji (wbhimji@lbl.gov), Steven Farrell (sfarrell@lbl.gov), Chris Harris (cjh@lbl.gov)
This position has been filled for 2024
Automatically Flagging Inefficient Data Access Behaviors
Science/CS Domains
storage, data management
Project Description
High-performance computing users face challenges when data access
performance is slower than expected. While I/O profiling tools can be
used to identify inefficiencies, a more scalable approach is required.
We aim to expand existing frameworks, such as Dristi, to flag
inefficient behaviors based on data access features, system
conditions, and heuristics. Inefficient data accesses can disrupt
scientific discoveries, so it is crucial to promptly flag such
behaviors and provide effective solutions to meet user needs.
Required Skills:
- I/O, Parallel I/O, Python, MPI-IO, POSIX, data analysis
Desired Skills:
- Experience with I/O profiling tools (e.g., Darshan, Recorder)
NERSC Mentors
Stephen Simms (ssimms@lbl.gov) and Lisa Gerhardt (lgerhardt@lbl.gov)
Infrastructure
Infrastructure Services Monitoring, Resource Utilization, Reporting, and Alerts
Science/CS Domain
high performance computing, resource monitoring, operations
Project Description
For this project, we invite summer interns to analyze metrics from the infrastructure services underlying NERSC, visualize the data to monitor system health, and produce alerts to predict or warn of error conditions.
The service infrastructure that supports NERSC is a critical component of the overall computational center, helping to ensure that supercomputers and storage run smoothly. These services consist of the tools and platforms that NERSC users and/or other NERSC systems alike depend on every day: authentication and access control, Iris and its account and allocation management subsystems, the NERSC API, Spin, and more. They run in a mixed environment of Kubernetes, VMware, physical servers, and enterprise storage.
On this project you'll work directly with the infrastructure team at NERSC to configure nodes in the systems above to export resource utilization metrics using Prometheus, build meaningful dashboards to visualize the data, study trends and identify patterns, and devise alerts that are raised when key metrics deviate from healthy baselines. You'll get hands-on experience with industry-leading monitoring tools, and you'll get insights into what it takes to support a supercomputing center.
Required Skills
- Experience with Prometheus, PromQL, Grafana, and skills with collecting and interpreting data
Desired Skills/Background
- Experience with containers, Kubernetes, VMware, monitoring and alerting systems
NERSC Mentor
Gabriel Evanoff (gevanoff@lbl.gov)
Center API Monitoring and Scaling
Science/CS Domains
high performance computing, API design, systems programming
Project Description
For this project, we invite summer interns to analyze the performance of the API to our compute and storage resources.
The NERSC supercomputer and storage solutions are valuable building blocks of scientific research conducted at the center. Increasingly, automated scientific workflows access these systems via API. As the number of such workflows becomes greater over time, it's critical for the API infrastructure to be able to scale with the demand.
On this project you'll analyze the runtime characteristics of the API systems, identify bottlenecks and develop a proposal for future growth. You will work on enhancing the testing framework by writing code, researching off-the-shelf solutions and enhancing the system's monitoring.
Required Skills:
- Programming in Python, familiarity with REST APIs and distributed microservice architectures
- Experience in application monitoring solutions (eg, Prometheus)
- Ability to report on proposed enhancements for future scale
Desired Skills/Background
- Experience with containers, Kubernetes, application monitoring systems
NERSC Mentor
Gabor Torok (gtorok@lbl.gov)
Applications Closed
The following projects have already hired summer interns or are no longer accepting applications.
Optimize chatbot backend for NERSC documentation
Science/CS Domain
software engineering, high performance computing, deep learning
Project Description
For this project, we invite summer interns to explore fine-tuning related strategies for open source large language models.
Large language models - natural language processing (NLP) systems with billions of parameters - have transformed AI research over the last few years. Trained on a massive and varied volume of text, they show surprising new capabilities to generate creative text, solve basic math problems, answer reading comprehension questions, and more. One particularly useful application of these models is query answering based on documentation. At NERSC, we have thousands of users who interact daily with our infrastructure and submit jobs on Perlmutter.
This project would involve several key tasks, including creating a dataset from the available NERSC documentation in the form of question-answer pairs, integrating various pre-trained open source LLMs as backend, tailoring them to Perlmutter documentation by fine-tuning the model and embeddings, and investigating other recent developments from the deep learning literature.
Desired Skills/Background
- Experience with deep learning, torch/jax packages, large language models
- Experience with high performance computing
NERSC Mentors
Ermal Rrapaj (ermalrrapaj@lbl.gov), Nestor Demure (ndemure@lbl.gov), Steven Farell (sfarrel@lbl.gov), Neil Mehta (neilmehta@lbl.gov)
Large-scale Quantum Circuit Simulations of ADAPT-VQE for Quantum Chemistry Simulations on Perlmutter
Science/CS Domains
Quantum circuit simulations, software engineering, high performance computing, quantum computing
Project Description
For this project, we will deploy exact quantum circuit simulation codes, developed within the DOE ecosystem, on NERSC’s Perlmutter system. The intern will work as part of a larger team on several key tasks, including the following:
- Set up ADAPT-VQE circuit simulations for a set of target molecules,
- Run large-scale circuit simulations on up to 40 qubits and beyond if possible,
- Implement new operator pools and measurement reduction techniques for ADAPT-VQE,
- Prepare quantum computer hardware runs based on the results of the large-scale simulations
Desired Skills/Background
- Experience with C++, Python, quantum computing algorithms
- Nice to have: Slurm, HPC experience
Accelerate Quantum Algorithm for the Gradient of an Image Using GPUs
Science/CS Domains
quantum circuit simulations, data & model parallel computation on GPUs
Project Description
Image encoding and processing on quantum devices is an emerging field of research, crucial for leveraging quantum computers to advance natural science research where image analysis plays a vital role – from medical imaging to astronomical data interpretation. At NERSC, our research team has developed an algorithm to calculate the gradient of a grayscale image on a quantum computer, initially using the Qiskit simulator. The current implementation faces scalability challenges. The project aims to transition the quantum algorithm to cuQuantum-based simulations, aiming for effective multi-GPU scaling. Employing NERSC HPC resources, particularly the Perlmutter supercomputer, we aim for a deployment scale on 32 NVIDIA A100 GPUs, allowing for a simulation of up to 35 qubits. Participants will have the opportunity to coauthor a publication upon successful implementation, contributing significantly to this cutting-edge field.
Power/Energy Efficiency
Power Analysis of HPC Applications
Science/CS Domain
application power usage, power management, high-performance computing
Project Description
As high performance computing (HPC) systems continue to scale, power consumption has become a critical limiting factor. Understanding the power signature of current production workloads is essential to address this limit and continue to advance scientific computing at scale. This project aims to understand the power characteristics of top applications at the National Energy Scientific Computing Center (NERSC) and investigate how the standard power management strategies impact these workloads. The insights gained from this research will illuminate pathways to enhance power efficiency in operational settings and achieve optimal system performance within predefined power budgets.
Required Skills
- Python (with Numpy and Pandas)
Desired Skills/Background
- Experience in using HPC systems, computer sciences/physics
NERSC Mentors
Zhengji Zhao (zzhao@lbl.gov)