🤖 AI Summary
Symbolic regression in materials science demands high-performance computing across diverse hardware platforms, yet conventional CPU-only implementations struggle to simultaneously achieve hardware portability and software maintainability.
Method: This work introduces SISSO++, a Kokkos-based heterogeneous port of the SISSO algorithm, restructured into a unified programming model supporting MPI/OpenMP hybrid parallelism and abstracted CUDA/HIP backends for seamless execution on both NVIDIA and AMD GPUs. Core symbolic regression and compressed sensing algorithms are further optimized for GPU acceleration.
Contribution/Results: Experiments demonstrate 3.2–8.9× speedup on key modules across dual-GPU platforms, significantly enhancing computational efficiency. The implementation achieves performance portability across CPU and GPU architectures—including x86, ARM, NVIDIA, and AMD—using a single, maintainable codebase. This reduces cross-platform development and maintenance overhead substantially and establishes a reusable paradigm for hardware-adaptive symbolic regression in scientific computing.
📝 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 time-consuming parts of our code.