AFSAT: High-Performance GPU-Accelerated Pseudo-Boolean SAT Solver

๐กA major leap in SAT solving: use JAX to run massively parallel constraint satisfaction on GPUs.
โก 30-Second TL;DR
What Changed
Utilizes JAX for automatic vectorization, differentiation, and JIT compilation.
Why It Matters
This solver significantly lowers the barrier for solving complex combinatorial optimization problems using GPU hardware. It provides a robust framework for researchers needing to scale SAT-based logic problems beyond CPU limitations.
What To Do Next
If you are working on combinatorial optimization, clone the AFSAT repository and benchmark your current SAT instances against its JAX-based parallel implementation.
Key Points
- โขUtilizes JAX for automatic vectorization, differentiation, and JIT compilation.
- โขImplements a tailored discrete Fourier transform to mitigate floating-point stability issues.
- โขAchieves near-linear throughput scaling using JAX array sharding across multiple GPUs.
- โขSupports heterogeneous mixtures of symmetric constraint types within a single instance.
๐ง Deep Insight
Web-grounded analysis with 2 cited sources.
๐ Enhanced Key Takeaways
- โขAFSAT is built upon a Continuous Local Search (CLS) paradigm, which reformulates Boolean satisfiability problems into bounded continuous optimization problems solvable via gradient-based methods using the Walsh-Fourier transform.
- โขThe solver demonstrates substantial improvements in numerical stability, runtime performance, and memory efficiency compared to its proof-of-concept predecessors, FourierSAT and FastFourierSAT.
- โขA key innovation is its tailored Discrete Fourier Transform (DFT) implementation with deferred division, which specifically addresses floating-point errors and representational deviations, enabling a practical maximum constraint length of approximately 50 variables.
- โขAFSAT's design allows it to accept partial variable assignments as input, which facilitates its potential integration as a sub-solver within larger decomposition-based architectures or portfolio approaches like Dagster.
๐ ๏ธ Technical Deep Dive
- Core Algorithm: Continuous Local Search (CLS).
- Problem Transformation: Relaxes Boolean variables to real-valued variables using the Walsh-Fourier transform, converting SAT into a bounded continuous optimization problem amenable to gradient-based search.
- Compiler & Framework: Leverages the JAX compiler for pure function composition, automatic vectorization, automatic differentiation, and just-in-time (JIT) compilation.
- Parallelization: Achieves massively parallel CLS across batches of candidate assignments, with near-linear throughput scaling across multiple GPUs through JAX array sharding in a single-program-multiple-data (SPMD) or compute-follows-data paradigm.
- Numerical Stability Enhancement: Employs a tailored Discrete Fourier Transform (DFT) implementation with deferred division to mitigate floating-point errors and representational deviations, establishing a practical maximum constraint length of approximately 50 variables.
- Memory Optimization: Achieves significantly reduced GPU memory consumption compared to its predecessor, FastFourierSAT.
- Constraint Handling: Supports any heterogeneous mixture of symmetric pseudo-Boolean constraint types and lengths within a single problem instance.
- Input Flexibility: Capable of processing partial variable assignments as input.
- Development Lineage: Represents a fully-engineered realization of earlier proof-of-concept models, FourierSAT and FastFourierSAT.
๐ฎ Future ImplicationsAI analysis grounded in cited sources
โณ Timeline
Weekly AI Recap
Read this week's curated digest of top AI events โ
๐Related Updates
AI-curated news aggregator. All content rights belong to original publishers.
Original source: ArXiv AI โ