https://github.com/zbendefy/opencl-satsolver
Brute force sat solver in OpenCL
https://github.com/zbendefy/opencl-satsolver
gpgpu gpu java opencl opencl-satsolver sat-solver solver
Last synced: about 1 year ago
JSON representation
Brute force sat solver in OpenCL
- Host: GitHub
- URL: https://github.com/zbendefy/opencl-satsolver
- Owner: zbendefy
- Created: 2015-05-03T19:35:26.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2018-06-19T08:22:59.000Z (about 8 years ago)
- Last Synced: 2025-03-29T15:34:25.587Z (about 1 year ago)
- Topics: gpgpu, gpu, java, opencl, opencl-satsolver, sat-solver, solver
- Language: Java
- Homepage:
- Size: 1.63 MB
- Stars: 9
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# opencl-satsolver
This is a simple Brute force sat solver, written in Java, and OpenCL (using the JOCL bindings). It basically parses the input expression, and tries every single variable configuration.
There is a test app included, that can be used to try the libs features.
## Trying the library
Download the SatSolverTest.jar from the repository (or build it from the source), and run it from the command line:
java -jar SatSolverTest.jar
## Features:
* Supports expressions up to 62 boolean variables
* AND, OR, NEGATE operators
* Can evaluate expressions like: A & B | (C & !D)
* Can load .CNF files
Note that above 24-26 variables calculation times can be very-very long.
#### There are 2 methods implemented:
* The Single/simple solver will return a byte array where each byte represents a solution.
* The Multi solver will pack 8 results into a byte (each bit represents a solution), to save on memory (and to allow more variables).
For larger problems, the multi solver method is automatically selected.