Skip to main content

Learning dynamical systems with GPU-enabled scientific machine learning

Submission Number: 133
Submission ID: 233
Submission UUID: 9576eb83-a8f9-4ef6-93be-5f902c965918
Submission URI: /form/project

Created: Mon, 12/13/2021 - 07:17
Completed: Mon, 12/13/2021 - 07:17
Changed: Mon, 08/29/2022 - 00:25

Remote IP address: 71.234.46.81
Submitted by: Alfa Heryudono
Language: English

Is draft: No
Webform: Project
Learning dynamical systems with GPU-enabled scientific machine learning
Northeast
Brians-project.jpg
gravitational-waves (597), machine-learning (272)
Complete

Project Leader

Alfa Heryudono
{Empty}
{Empty}

Project Personnel

{Empty}
Brian Cornet
{Empty}

Project Information

It has been recently demonstrated that dynamical system models can be discovered through scientific machine learning techniques. In this data-driven process, measurements of the system are made. From this data, an optimization problem can be solved to isolate the most likely physical model (differential equations) that would deliver these physical measurements. This process is computationally challenging, both in the generation of data (which, in our case, comes from an expensive, high-fidelity numerical solver) and in solving this optimization problem. This project aims to accelerate both steps by using Julia, a high-performance language that maintains many benefits of a high-level interpreted language like Matlab or Python. In this project, the student will port existing Python code into Julia and provide time-to-solution performance statistics comparing the two. The student will also use Julia's library DiffEqFlux.jl for learning neural differential equations and Hamiltonian neural networks. The DiffEqFlux.jl library runs on both GPUs and CPUs, and the student will explore speedups that are achievable on NVIDIA's V100 and A100 GPUs.

Project Information Subsection

{Empty}
{Empty}
{Empty}
{Empty}
{Empty}
{Empty}
{Empty}
{Empty}
NE-MGHPCC
12/01/2021
No
Already behind3Start date is flexible
{Empty}
{Empty}
{Empty}
{Empty}
{Empty}
  • Milestone Title: Port to Julia
    Milestone Description: Solve ODEs in Julia and compare time-to-solution to python
    Completion Date Goal: 2022-01-14
  • Milestone Title: Neural ODES I
    Milestone Description: Setup neural ODE problem with the DiffEqFlux.jl library, try simple learning problem for a single trajectory
    Completion Date Goal: 2022-02-14
  • Milestone Title: Neural ODES II
    Milestone Description: Setup neural ODE problem with the DiffEqFlux.jl library, try learning problem for a multiple trajectories
    Completion Date Goal: 2022-03-14
  • Milestone Title: GPUs
    Milestone Description: Solve optimization problem on a CPU, NVIDIA V100 GPU, and NVIDIA A100 GPU. Comparison of performance
    Completion Date Goal: 2022-03-31
{Empty}
{Empty}
The student will learn how to program in the high-performance computing language Julia, using scientific machine learning libraries, and accelerating machine learning with single and multiple GPUs.
{Empty}
{Empty}
The student will need access to one and multiple GPUs. At UMassD we have a shared GPU resource they can use. However, for exploring multiple GPUs we might need to consider resources through cyberteams.
{Empty}

Final Report

{Empty}
{Empty}
{Empty}
{Empty}
{Empty}
{Empty}
{Empty}
{Empty}
{Empty}
{Empty}