Date of Award

3-2021

Degree Name

MS in Computer Science

Department/Program

Computer Science

College

College of Engineering

Advisor

Zoe Wood

Advisor Department

Computer Science

Advisor College

College of Engineering

Abstract

Within computational continuum mechanics there exists a large category of simulation methods which operate by tracking Lagrangian particles over an Eulerian background grid. These Lagrangian/Eulerian hybrid methods, descendants of the Particle-In-Cell method (PIC), have proven highly effective at simulating a broad range of materials and mechanics including fluids, solids, granular materials, and plasma. These methods remain an area of active research after several decades, and their applications can be found across scientific, engineering, and entertainment disciplines.

This thesis presents a GPU driven PIC-like simulation framework created using the Vulkan® API. Vulkan is a cross-platform and open-standard explicit API for graphics and GPU compute programming. Compared to its predecessors, Vulkan offers lower overhead, support for host parallelism, and finer grain control over both device resources and scheduling. This thesis harnesses those advantages to create a programmable GPU compute pipeline backed by a Vulkan adaptation of the SPgrid data-structure and multi-buffered particle arrays. The CPU host system works asynchronously with the GPU to maximize utilization of both the host and device. The framework is demonstrated to be capable of supporting Particle-in-Cell like simulation methods, making it viable for GPU acceleration of many Lagrangian particle on Eulerian grid hybrid methods. This novel framework is the first of its kind to be created using Vulkan® and to take advantage of GPU sparse memory features for grid sparsity.

AsyncParticleRingsInit.mp4 (8116 kB)
Animated illustration of asynchronous particle data-flow under idealized circumstances

toyseq.mp4 (65718 kB)
Exploding dino simulation

vkseq_512Redux_30fps.mp4 (6622 kB)
Vulkan logo drop simulated animation (512 grid resolution)

vkseq_512Redux_Grid_30fps.mp4 (10448 kB)
Vulkan logo drop simulated animation w/ grid visualization (512 grid resolution)

vkseq_1024Redux_30fps.mp4 (9913 kB)
Vulkan logo drop simulated animation (1024 grid resolution)

vkseq_1024Redux_Grid_30fps.mp4 (11470 kB)
Vulkan logo drop simulated animation w/ grid visualization (1024 grid resolution)

Share

COinS