Skip to content

Hackathon ToDos #2

@ModestMC

Description

@ModestMC
  • Update description for Xiaodi as team member
  • Check License for analysis (potentially open source?) - put MIT in application
  • Team name / Application name - DIII-D Pathfinder Beam Emission Spectroscopy Acceleration
  • Application Details - Please provide an abstract of your application/code that includes the aim or goal of the application, what architecture the application uses (i.e. CPUs, GPUs), and any relevant information (i.e. GitHub repo link).
  • HPC/Python
  • Libraries used - Toksearch, see the other Python imports in this repo
  • Algorithmic Motifs - Describe what types of algorithms dominate your application, especially the ones your team is targeting for acceleration.
  • Current application performance
  • Currently uses numpy (?), want to try CuPy
  • What do you hope to achieve at the Hackathon?
  • Is there anything else you'd like to mention or ask us

Team Name: DIII-D Pathfinder Beam Emission Spectroscopy Velocimetry Acceleration

Team Description:
Our team is comprised of four members.

Mitchell Clark is a Research Engineer at the DIII-D National Fusion Facility on the Applied Machine Learning team, where he contributes to the Fusion Data Platform and Integrated Research Infrastructure Projects. He also has over 5 years experience doing algorithmic analysis and embedded hardware acceleration, primarily focused on FGPAs.

Dr. Xiaodi Du is an expert in EP physics who has published five Physical Review Letters on EP physics in the last ten years. He developed the first imaging neutral particle analyzer (INPA) as a postdoc. He is responsible for the original refactoring of the main analysis codebase from IDL to Python and has also previously developed analyses in Fortran.

William (Alex) Richardson is a 4th year Computer Science PhD student at Vanderbilt Institute for Software Integrated Systems, where he specializes in Computer Vision and Autonomous Vehicles. He is an NSF Graduate Research Fellow and an Eisenhower Transportation Fellow with previous experience PyTorch CUDA modules for use in embedded systems.

Nick Tyler works at NERSC in the Data and AI Services group and is familiar with Perlmutter. He has experience with optimizing python codes in cupy and numba and profiling using the nvidia profiling tools.

Application:

This code is used to analyze the poloidal and radial velocity of turbulence eddies, measured by beam emission spectroscopy through velocimetry technique. The obtained velocity is critical to understand plasma confinement improvement related to shear flow and Reynolds stress force. The code itself is highly suited to parallelization, particularly using GPUs, and with limited local resources takes days to run.

Our goals are threefold: first, we aim to accelerate the execution time of the analysis to be available on timescales relevant for use in the DIII-D Control Room (~15 minutes) by making the code run on GPU. Second, we aim to use the Fusion Data Platform to run the new accelerated workflow against a large corpus of previous experiments for which these results have not been produced. Finally, we hope to automate the invocation of this workflow as to be a tool via Integrated Research Infrastructure for use by diagnosticians in the control room.

Time permitting, we are also interested in testing certain ML techniques' capabilities for rapidly producing comparable results.

Currently the code uses numpy, scipy, h5py, and concurrent futures, but we would like to try using CuPy,

The velocimetry uses optical flow techniques based on dynamic programming, as described in the following paper: Quénot, G., Pakleza, J. & Kowalewski, T. Particle image velocimetry with optical flow.Experiments in Fluids 25, 177–189 (1998). https://doi.org/10.1007/s003480050222

Practically, the algorithm windows over a limited range and then moves the frame for which it compares pixels to identify patterns in the flow field.

Using 12 cores on a single node, it takes 1-2 days to analyze a 1 second sample of a ~7 second experiment (this is normally how much is actually analysed). For the hackathon, we plan to do prototyping much more rapidly by reducing the overall examined timeframe and by altering other parameters to simplify the execution.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions