Using Answer Set Programming for HPC Dependency Solving

被引:1
|
作者
Gamblin, Todd [1 ]
Culpo, Massimiliano [1 ]
Becker, Gregory [1 ]
Shudler, Sergei [1 ]
机构
[1] Lawrence Livermore Natl Lab, Livermore, CA 94550 USA
关键词
High performance computing; Software packages; Package management; Logic programming; Answer set programming; Software reusability; Dependency management;
D O I
10.1109/SC41404.2022.00040
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
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.
引用
收藏
页数:15
相关论文
共 50 条
  • [21] Heuristics, Answer Set Programming and Markov Decision Process for Solving a Set of Spatial Puzzles*
    Thiago Freitas dos Santos
    Paulo E. Santos
    Leonardo Anjoletto Ferreira
    Reinaldo A. C. Bianchi
    Pedro Cabalar
    Applied Intelligence, 2022, 52 : 4488 - 4510
  • [22] Answer Set Programming
    Marek, Victor W.
    THEORY AND PRACTICE OF LOGIC PROGRAMMING, 2020, 20 (03) : 432 - 434
  • [23] Answer Set Programming
    Schaub, Torsten
    Proceedings of the 12th Conference on Formal Methods in Computer-Aided Design (FMCAD 2012), 2012, : 2 - 2
  • [24] Answer Set Programming
    Janhunen, Tomi
    KUNSTLICHE INTELLIGENZ, 2018, 32 (2-3): : 125 - 131
  • [25] Answer Set Programming: Boolean Constraint Solving for Knowledge Representation and Reasoning
    Schaub, Torsten
    PRINCIPLES AND PRACTICE OF CONSTRAINT PROGRAMMING, CP 2013, 2013, 8124 : 3 - 4
  • [26] Answer Set Programming: A Declarative Approach to Solving Challenging Search Problems
    Niemela, Ilkka
    2011 41ST IEEE INTERNATIONAL SYMPOSIUM ON MULTIPLE-VALUED LOGIC (ISMVL), 2011, : 139 - 141
  • [27] Answer Set Programming: A Declarative Approach to Solving Challenging Search Problems
    Niemela, Ilkka
    12TH SYMPOSIUM ON PROGRAMMING LANGUAGES AND SOFTWARE TOOLS, SPLST' 11, 2011, : 173 - 173
  • [28] D-FLAT: Declarative problem solving using tree decompositions and answer-set programming
    Bliem, Bernhard
    Morak, Michael
    Woltran, Stefan
    THEORY AND PRACTICE OF LOGIC PROGRAMMING, 2012, 12 : 445 - 464
  • [29] Declarative problem solving using answer set semantics
    Brain, Martin
    LOGIC PROGRAMMING, PROCEEDINGS, 2006, 4079 : 459 - 460
  • [30] Generating Optimal Code Using Answer Set Programming
    Crick, Tom
    Brain, Martin
    De Vos, Marina
    Fitch, John
    LOGIC PROGRAMMING AND NONMONOTONIC REASONING, PROCEEDINGS, 2009, 5753 : 554 - 559