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
Background and context from public sources — not the original article. 2 sources cited.
🔑 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 ↗
This is a summary, not the original. Read the source, or get the weekly briefing.
The weekly digest
One email a week. Unsubscribe anytime.