A high-performance and portable implementation of the SISSO method for CPUs and GPUs
Sebastian Eibl, Yi Yao, Matthias Scheffler, Markus Rampp and, Luca M. Ghiringhelli, Thomas A. R. Purcell

TL;DR
This paper presents a GPU-accelerated, portable implementation of the SISSO AI method using Kokkos, enabling efficient high-performance computations across Nvidia and AMD hardware.
Contribution
The authors ported SISSO++ to GPUs with Kokkos, maintaining a single codebase and demonstrating significant speedups on different GPU architectures.
Findings
Achieved hardware portability with Kokkos for SISSO++
Demonstrated substantial speedups on Nvidia and AMD GPUs
Maintained a unified codebase for heterogeneous hardware
Abstract
SISSO (sure-independence screening and sparsifying operator) is an artificial intelligence (AI) method based on symbolic regression and compressed sensing widely used in materials science research. SISSO++ is its C++ implementation that employs MPI and OpenMP for parallelization, rendering it well-suited for high-performance computing (HPC) environments. As heterogeneous hardware becomes mainstream in the HPC and AI fields, we chose to port the SISSO++ code to GPUs using the Kokkos performance-portable library. Kokkos allows us to maintain a single codebase for both Nvidia and AMD GPUs, significantly reducing the maintenance effort. In this work, we summarize the necessary code changes we did to achieve hardware and performance portability. This is accompanied by performance benchmarks on Nvidia and AMD GPUs. We demonstrate the speedups obtained from using GPUs across the three most…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsMachine Learning in Materials Science · Parallel Computing and Optimization Techniques · Stochastic Gradient Optimization Techniques
