Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: msoos/cryptominisat
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 5.11.14
Choose a base ref
...
head repository: msoos/cryptominisat
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 5.11.15
Choose a head ref
  • 16 commits
  • 63 files changed
  • 1 contributor

Commits on Sep 23, 2023

  1. m4ri is now removed

    msoos committed Sep 23, 2023
    Copy the full SHA
    abadc3b View commit details

Commits on Sep 24, 2023

  1. Copy the full SHA
    f33e882 View commit details
  2. AWS code is outdated, removing

    msoos committed Sep 24, 2023
    Copy the full SHA
    57c59f5 View commit details
  3. Let's not have drat-trim

    msoos committed Sep 24, 2023
    Copy the full SHA
    edd213a View commit details
  4. No drat-trim

    msoos committed Sep 24, 2023
    Copy the full SHA
    94e7f27 View commit details
  5. Update newpython.yml

    msoos authored Sep 24, 2023
    Copy the full SHA
    a9fe798 View commit details
  6. Copy the full SHA
    3207365 View commit details
  7. Fixing workflow names etc

    msoos committed Sep 24, 2023
    Copy the full SHA
    48dd555 View commit details

Commits on Sep 25, 2023

  1. Adding helpful hint thanks to @GregoryMorse

    Related to #730
    msoos committed Sep 25, 2023
    Copy the full SHA
    0f1f10c View commit details

Commits on Oct 1, 2023

  1. Adding simplified API

    msoos committed Oct 1, 2023
    Copy the full SHA
    2ea166a View commit details
  2. Copy the full SHA
    df4ba8c View commit details
  3. Copy the full SHA
    05fc8ad View commit details
  4. Copy the full SHA
    c6ced12 View commit details

Commits on Oct 2, 2023

  1. Copy the full SHA
    a83bf2a View commit details
  2. Updating scripts

    msoos committed Oct 2, 2023
    Copy the full SHA
    6f69b1b View commit details

Commits on Oct 11, 2023

  1. Copy the full SHA
    3b70911 View commit details
Showing with 173 additions and 6,467 deletions.
  1. +5 −2 .github/workflows/{build.yml → binary-build.yml}
  2. +5 −4 .github/workflows/{python-package-build.yml → python-src-pkg-build.yml}
  3. +5 −2 .github/workflows/{newpython.yml → python-wheel-build.yml}
  4. +0 −3 .gitmodules
  5. +2 −35 CMakeLists.txt
  6. +0 −9 Dockerfile
  7. +1 −1 LICENSE.txt
  8. +12 −18 README.markdown
  9. +0 −67 cmake/FindM4RI.cmake
  10. +1 −1 pyproject.toml
  11. +0 −14 scripts/aws/README.markdown
  12. +0 −172 scripts/aws/RequestSpotClient.py
  13. +0 −29 scripts/aws/build_Maple_LCM_Dist.sh
  14. +0 −30 scripts/aws/build_cmsat_satcomp16.sh
  15. +0 −42 scripts/aws/build_cryptominisat.sh
  16. +0 −30 scripts/aws/build_drat-trim2.sh
  17. +0 −31 scripts/aws/build_glucose2016.sh
  18. +0 −32 scripts/aws/build_lingeling_ayv.sh
  19. +0 −32 scripts/aws/build_lingeling_bbc.sh
  20. +0 −33 scripts/aws/build_maplecomsps_drup.sh
  21. +0 −31 scripts/aws/build_swdia5by.sh
  22. +0 −32 scripts/aws/build_swdia5by_old.sh
  23. +0 −821 scripts/aws/client.py
  24. +0 −86 scripts/aws/common_aws.py
  25. +0 −300 scripts/aws/config/satcomp11_updated
  26. +0 −300 scripts/aws/config/satcomp13_updated
  27. +0 −300 scripts/aws/config/satcomp14_updated
  28. +0 −300 scripts/aws/config/satcomp16_updated
  29. +0 −350 scripts/aws/config/satcomp17_updated
  30. +0 −300 scripts/aws/config/satrace15_updated
  31. +0 −8 scripts/aws/config/test_updated
  32. +0 −425 scripts/aws/config/unsat_small_candidates_fullpath
  33. +0 −47 scripts/aws/ec2-spot-instance-test.cfg
  34. +0 −51 scripts/aws/ec2-spot-instance.cfg
  35. +0 −153 scripts/aws/launch_server.py
  36. +0 −39 scripts/aws/pack_cnf_lists.py
  37. +0 −36 scripts/aws/pre-server.py
  38. +0 −751 scripts/aws/satcomp091113_updated
  39. +0 −432 scripts/aws/server.py
  40. +0 −194 scripts/aws/server_option_parser.py
  41. +1 −1 scripts/build_scripts
  42. +0 −1 scripts/crystal/ballofcrystal.sh
  43. +0 −95 scripts/crystal/sat_unsat.sh
  44. +0 −3 scripts/fuzz/fuzz_test.py
  45. +0 −7 src/CMakeLists.txt
  46. +0 −2 src/GitSHA1.cpp.in
  47. +0 −1 src/cms_windows_includes.h
  48. +23 −5 src/cryptominisat.cpp
  49. +5 −0 src/cryptominisat.h
  50. +0 −4 src/main.cpp
  51. +0 −37 src/occsimplifier.cpp
  52. +0 −4 src/occsimplifier.h
  53. +110 −108 src/picosat/picosat.c
  54. +2 −0 src/satzilla_features.h
  55. +0 −16 src/solver.cpp
  56. +0 −1 src/solverconf.cpp
  57. +0 −1 src/solverconf.h
  58. +0 −457 src/toplevelgauss.cpp
  59. +0 −103 src/toplevelgauss.h
  60. +0 −52 src/toplevelgaussabst.h
  61. +1 −1 src/watched.h
  62. +0 −24 tests/xorfinder_test.cpp
  63. +0 −1 utils/drat-trim
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
name: build
name: binary build

on: [push, pull_request]
on:
push:
branches:
- master


jobs:
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
name: Python package build
name: Python source package build

on: [push, pull_request]
# release:
# types: [created]
on:
push:
branches:
- master

jobs:
deploy:
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
name: better-python-build
name: python wheel package build

on: [push, pull_request]
on:
push:
branches:
- master

jobs:
build_wheels:
3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -16,9 +16,6 @@
[submodule "scripts/build_scripts"]
path = scripts/build_scripts
url = https://github.com/msoos/cryptominisat_build.git
[submodule "utils/drat-trim"]
path = utils/drat-trim
url = https://github.com/msoos/drat-trim
[submodule "utils/minisat_only_elim_and_subsume"]
path = utils/minisat_only_elim_and_subsume
url = https://github.com/msoos/minisat
37 changes: 2 additions & 35 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -148,7 +148,6 @@ if (EMSCRIPTEN)
set(ONLY_SIMPLE ON)
set(BUILD_SHARED_LIBS ON)
set(NOZLIB ON)
set(NOM4RI ON)
else()
set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package (Threads REQUIRED)
@@ -261,7 +260,6 @@ else()
# /ZI = include debug info
# /Wall = all warnings

add_definitions(-DNGETRUSAGE)
add_compile_options("$<$<CONFIG:RELWITHDEBINFO>:/O2>")
add_compile_options("$<$<CONFIG:RELWITHDEBINFO>:/ZI>")

@@ -452,7 +450,7 @@ else()
set(GIT_SHA "GIT-hash-notfound")
endif()

set(CMS_FULL_VERSION "5.11.14")
set(CMS_FULL_VERSION "5.11.15")

string(REPLACE "." ";" CMS_FULL_VERSION_LIST ${CMS_FULL_VERSION})
SetVersionNumber("PROJECT" ${CMS_FULL_VERSION_LIST})
@@ -491,6 +489,7 @@ endif()

if (STATS)
find_package (SQLITE3 REQUIRED)
find_package(louvain_communities CONFIG REQUIRED)
MESSAGE(STATUS "OK, Found SQLITE3!")
include_directories(${SQLITE3_INCLUDE_DIR})
add_definitions( -DUSE_SQLITE3 )
@@ -594,38 +593,16 @@ endif()
# -----------------------------------------------------------------------------
# MIT option
# -----------------------------------------------------------------------------
option(REQUIRE_M4RI "Must use m4ri" OFF)
option(NOM4RI "Don't use m4ri" ON)
option(NOBOSPHORUS "Don't use Bosphorus" ON)
option(REQUIRE_BOSPHORUS "Must use Bosphorus" OFF)
option(MIT "Build with only MIT licensed components" OFF)
if (MIT)
set(NOM4RI ON)
set(NOBOSPHORUS ON)
if(REQUIRE_M4RI)
message(FATAL_ERROR "Cannot have both MIT and REQUIRE_M4RI at the same time")
endif()
if(REQUIRE_BOSPHORUS)
message(FATAL_ERROR "Cannot have both MIT and REQUIRE_BOSPHORUS at the same time")
endif()
endif()

# -----------------------------------------------------------------------------
# Look for M4RI (for Gauss)
# -----------------------------------------------------------------------------
if (NOT NOM4RI)
find_package(M4RI)
IF (M4RI_FOUND)
MESSAGE(STATUS "OK, Found M4RI lib at ${M4RI_LIBRARIES} and includes at ${M4RI_INCLUDE_DIRS}")
add_definitions( -DUSE_M4RI )
ELSE (M4RI_FOUND)
MESSAGE(WARNING "Did not find M4RI, XOR detection&manipulation disabled")
if (REQUIRE_M4RI)
MESSAGE(FATAL_ERROR "REQUIRE_M4RI was set but M4RI was not found!")
endif()
ENDIF (M4RI_FOUND)
endif()

# -----------------------------------------------------------------------------
# Look for Boshphorus
# -----------------------------------------------------------------------------
@@ -746,11 +723,6 @@ endforeach()
message(STATUS "All defines at startup: ${COMPILE_DEFINES}")

add_subdirectory(src cmsat5-src)
if(EXISTS "${PROJECT_SOURCE_DIR}/utils/drat-trim/drat-trim.cpp")
add_subdirectory(${PROJECT_SOURCE_DIR}/utils/drat-trim utils/drat-trim)
else()
message(STATUS "GIT Subprojects not initialized, not building drat-trim")
endif()

# -----------------------------------------------------------------------------
# Add uninstall target for makefiles
@@ -806,11 +778,6 @@ set(CRYPTOMINISAT5_VERSION_FILENAME "cryptominisat5ConfigVersion.cmake")
set(CRYPTOMINISAT5_STATIC_DEPS
${SQLITE3_LIBRARIES}
)
IF (M4RI_FOUND)
set(CRYPTOMINISAT5_STATIC_DEPS
${CRYPTOMINISAT5_STATIC_DEPS} ${M4RI_LIBRARIES}
)
endif()

# Export targets
set(MY_TARGETS cryptominisat5)
9 changes: 0 additions & 9 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -9,15 +9,6 @@ RUN apt-get update && apt-get install --no-install-recommends -y software-proper
RUN add-apt-repository -y ppa:ubuntu-toolchain-r/test && rm -rf /var/lib/apt/lists/*
RUN apt-get update && apt-get install --no-install-recommends -y libboost-program-options-dev gcc g++ make cmake zlib1g-dev wget && rm -rf /var/lib/apt/lists/*

# get M4RI
RUN wget https://bitbucket.org/malb/m4ri/downloads/m4ri-20140914.tar.gz \
&& tar -xvf m4ri-20140914.tar.gz
WORKDIR m4ri-20140914
RUN ./configure \
&& make \
&& make install \
&& make clean

# set up build env
RUN groupadd -r solver -g 433
RUN useradd -u 431 -r -g solver -d /home/solver -s /sbin/nologin -c "Docker image user" solver
2 changes: 1 addition & 1 deletion LICENSE.txt
Original file line number Diff line number Diff line change
@@ -5,7 +5,7 @@ The general priciple of the licensing is as follows. Everything that's
needed to run/build/install/link the system is MIT licensed. This allows
easy distribution and running of the system everywhere. Files that
have no copyright header are also MIT licensed. Note that in case you
compile with M4RI, then M4RI's GPL license affects the final executable
compile with Bliss, then Bliss's GPL license affects the final executable
and library.

Everything else that's not needed to run/build/install/link is usually GPLv2
30 changes: 12 additions & 18 deletions README.markdown
Original file line number Diff line number Diff line change
@@ -19,7 +19,7 @@ When citing, always reference our [SAT 2009 conference paper](https://link.sprin
License
-----

Everything that is needed to build by default is MIT licensed. If you specifically instruct the system it can build with M4RI and Bliss, which are both GPL. However, by default CryptoMiniSat will not build with these.
Everything that is needed to build by default is MIT licensed. If you specifically instruct the system it can build with Bliss, which are both GPL. However, by default CryptoMiniSat will not build with these.


Compiling in Linux
@@ -407,6 +407,15 @@ sudo apt-get install libboost-program-options-dev libboost-serialization-dev
sudo apt-get install python3-pip
sudo pip3 install sklearn pandas numpy lit matplotlib
# build and install Louvain Communities
git clone https://github.com/meelgroup/louvain-community
cd louvain-community
mkdir build && cd build
cmake ..
make -j10
sudo make install
cd ../..
# build and install XGBoost
git clone https://github.com/dmlc/xgboost
cd xgboost
@@ -456,24 +465,12 @@ sqlite> select count() from sum_cl_use;
94507
```

The CNFs go through the following set of transformations to become the generated code:

1. `./cryptominisat` dumps the data. Options: `--cldatadumpratio 0.08`, `--gluecut0 100`
2. `./drat-trim`
3. `./add_lemma_ind.py`
4. `./clean_update_data.py`
5. `./rem_data.py` Options: `--fair`, etc.
6. `./vardata_gen_pandas.py`. Options: `--limit`
7. `./gen_pandas.py` Options: `--limit`, `--confs`
8. `./concat_pandas.py`
9. `./predict.py` Options: `--forest/--tree/etc`, `--depth/--split/etc`

Configuring a build for a minimal binary&library
-----
The following configures the system to build a bare minimal binary&library. It needs a compiler, but nothing much else:

```
cmake -DONLY_SIMPLE=ON -DNOZLIB=ON -DSTATS=OFF -DNOVALGRIND=ON -DENABLE_TESTING=OFF .
cmake -DONLY_SIMPLE=ON -DNOZLIB=ON -DSTATS=OFF -DENABLE_TESTING=OFF .
```

CMake Arguments
@@ -482,15 +479,12 @@ The following arguments to cmake configure the generated build artifacts. To use

- `-DSTATICCOMPILE=<ON/OFF>` -- statically linked library and binary. You must build&link `BreakID` with the same `DSTATICCOMPILE=<ON/OFF>` setting as well. You can get the BreakID library from [our GitHub repository](https://github.com/meelgroup/breakid)
- `-DUSE_GAUSS=<ON/OFF>` -- Gauss-Jordan Elimination support. On by default.
- `-DSTATS=<ON/OFF>` -- advanced statistics (slower)
- `-DSTATS=<ON/OFF>` -- advanced statistics (slower). Needs [louvain communities](https://github.com/meelgroup/louvain-community) installed.
- `-DENABLE_TESTING=<ON/OFF>` -- test suite support
- `-DMIT=<ON/OFF>` -- MIT licensed components only
- `-DNOM4RI=<ON/OFF>` -- without M4RI-based toplevel Gauss-Jordan Elimination support. Otherweise, we use the built-in one.
- `-DNOMPI=<ON/OFF>` -- without MPI support
- `-DREQUIRE_M4RI=<ON/OFF>` -- abort if M4RI is not present
- `-DNOZLIB=<ON/OFF>` -- no gzip DIMACS input support
- `-DONLY_SIMPLE=<ON/OFF>` -- only the simple binary is built
- `-DNOVALGRIND=<ON/OFF>` -- no extended valgrind memory checking support
- `-DLARGEMEM=<ON/OFF>` -- more memory available for clauses (but slower on most problems)
- `-DIPASIR=<ON/OFF>` -- Build `libipasircryptominisat.so` for [IPASIR](https://www.cs.utexas.edu/users/moore/acl2/manuals/current/manual/index-seo.php/IPASIR____IPASIR) interface support

67 changes: 0 additions & 67 deletions cmake/FindM4RI.cmake

This file was deleted.

2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "pycryptosat"
version = "5.11.14"
version = "5.11.15"
description = "Bindings to CryptoMiniSat, an advanced SAT solver"
keywords = ["sat", "cryptography"]
license = { file = "LICENSE.txt" }
14 changes: 0 additions & 14 deletions scripts/aws/README.markdown

This file was deleted.

Loading