Using Answer Set Programming for HPC Dependency Solving

10/16/2022
by   Todd Gamblin, et al.
0

Modern scientific software stacks have become extremely complex, using many programming models and libraries to exploit a growing variety of GPUs and accelerators. Package managers can mitigate this complexity using dependency solvers, but they are reaching their limits. Finding compatible dependency versions is NP-complete, and modeling the semantics of package compatibility modulo build-time options, GPU runtimes, flags, and other parameters is extremely difficult. Within this enormous configuration space, defining a "good" configuration is daunting. We tackle this problem using Answer Set Programming (ASP), a declarative model for combinatorial search problems. We show, using the Spack package manager, that ASP programs can concisely express the compatibility rules of HPC software stacks and provide strong quality-of-solution guarantees. Using ASP, we can mix new builds with preinstalled binaries, and solver performance is acceptable even when considering tens of thousands of packages.

READ FULL TEXT
research
04/02/2021

grASP: A Graph Based ASP-Solver and Justification System

Answer set programming (ASP) is a popular nonmonotonic-logic based parad...
research
02/10/2022

Reliabuild: Searching for High-Fidelity Builds Using Active Learning

Modern software is incredibly complex. A typical application may compris...
research
11/16/2020

Dependency Solving Is Still Hard, but We Are Getting Better at It

Dependency solving is a hard (NP-complete) problem in all non-trivial co...
research
09/01/2011

aspcud: A Linux Package Configuration Tool Based on Answer Set Programming

We present the Linux package configuration tool aspcud based on Answer S...
research
09/04/2019

GPU-based parallelism for ASP-solving

Answer Set Programming (ASP) has become, the paradigm of choice in the f...
research
03/25/2022

Using Solver-Aided Languages to Build Package Managers

Open-source software is critical for modern development, but most open-s...
research
09/11/2023

Many Cores, Many Models: GPU Programming Model vs. Vendor Compatibility Overview

In recent history, GPUs became a key driver of compute performance in HP...

Please sign up or login with your details

Forgot password? Click here to reset