Skip to main content
SHARE
Research Highlight

Machine Learning-Based Autotuning for Parallel Particle Advection

Topics:
Plots showing the performance of each model with respect to unexplained variance and mean absolute error. Plots are shown for both flow field agnostic (left) and flow field sensitive (right) corpora. Models closer to (0,0) are better. Computer Science and Mathematics Division CSMD ORNL
Plots showing the performance of each model with respect to unexplained variance and mean absolute error. Plots are shown for both flow field agnostic (left) and flow field sensitive (right) corpora. Models closer to (0,0) are better.

Data-parallel particle advection algorithms contain multiple controls that affect their execution characteristics and performance, in particular how often to communicate and how much work to perform between communications. Unfortunately, the optimal settings for these controls vary based on workload, and, further, it is not easy to devise straight-forward heuristics that automate calculation of these settings. To solve this problem, we investigate a machine learning-based autotuning approach for optimizing data-parallel particle advection. During a pre-processing step, we train multiple machine learning techniques using a corpus of performance data that includes results across a variety of workloads and control settings. The best performing of these techniques is then used to form an oracle, i.e., a module that can determine good algorithm control settings for a given workload immediately before execution begins. To evaluate this approach, we assessed the ability of seven machine learning models to capture particle advection performance behavior and then ran experiments for 108 particle advection workloads on 64 GPUs of a supercomputer. Our findings show that our machine learning-based oracle achieves good speedups relative to the available gains.