.. | ||
fastsolver | ||
__init__.py | ||
dumbsolver.py | ||
fastsolver.py | ||
forkingsolver.py | ||
gpusolver.cl | ||
gpusolver.py | ||
Readme.md | ||
test.py | ||
utils.py |
Please keep this module independent from the outside code, so that it can be reused in other applications.
If you are going to use it, you should wrap your program's main file in this:
import workprover.dumbsolver
workprover.dumbsolver.libcrypto = ...
if __name__ == "__main__":
import multiprocessing
multiprocessing.freeze_support()
...
See the multiprocessing
module documentation for explaination.
Build fast solver
On Linux, BSDs or MacOS: make -C fastsolver
.
On Windows:
-
Install OpenSSL. Build it yourself or install third-party prebuilt binaries.
-
Install MSVC as part of Visual Studio or standalone. Official offline installer: https://aka.ms/vcpython27.
-
Open its command line and go to the
fastsolver
directory. -
Add OpenSSL paths to environment variables:
set INCLUDE=C:\OpenSSL-Win64\include;%INCLUDE%
set LIB=C:\OpenSSL-Win64\lib;%LIB%
-
Do
cl @options.txt
. -
Append the
-32
or-64
suffix to the DLL file name.