Repository navigation
Releases: YPWang0818/sdpb-python
Release list
sdpb-python 0.4.0
Faster solves of small semidefinite programs, and independent solves in parallel.
Faster solver on one MPI rank
SDPB (fork branch python-api, fc8310ac) now runs its dense linear algebra on local matrices when a solve runs on one rank, instead of through Elemental's distributed kernels, with fewer temporaries, symmetric products computed in one triangle, and its internal timers off. On many small polynomial matrix programs (768 bits, blocks of 3x3 to 13x13) a solve takes about 0.68 of the time of 0.3.0. Iteration counts are unchanged and results agree with 0.3.0 to about 1e-200 relative.
fast_step_length
SolverOptions(fast_step_length=True) computes the step lengths from a double-precision smallest eigenvalue, verified in full precision (with the exact computation as fallback). On such problems it roughly halves the time per iteration with identical iteration counts. Off by default.
SolverPool and solve_many
Independent solves can run in parallel worker processes (started with spawn, one BLAS thread each); a pooled solve gives the same result as pmp.solve(). Queued and running solves can be cancelled, and a worker that dies is replaced. See "Many solves in parallel" in the guide.
Install
pip install sdpb-python --find-links https://github.com/YPWang0818/sdpb-python/releases/expanded_assets/v0.4.0
Linux x86_64, Python 3.10 to 3.13.
Preview 0.3.1.dev7 (profiling branch)
Preview build of the profiling branch for testing; not a release.
- sdpb-python 0.3.1.dev7, commit c525803
- SDPB commit fc8310ac
- includes the profiling options (
profile_path,profile_detail, ...)
Install (replaces any installed sdpb-python):
pip install --pre --upgrade sdpb-python --find-links https://github.com/YPWang0818/sdpb-python/releases/expanded_assets/profiling-latest
To go back, reinstall the release as in the installation guide, adding
--force-reinstall.
sdpb-python 0.3.0
Install
pip install sdpb-python --find-links https://github.com/YPWang0818/sdpb-python/releases/expanded_assets/v0.3.0
Wheels for Linux x86_64, CPython 3.10 to 3.13, glibc 2.28 or newer.
Changes since v0.2.1
- The wheels open no network sockets. The bundled MPICH is now built without a network module. In v0.2.1 and earlier it listened on a random TCP port on all interfaces, and any foreign connection to that port, such as a port scan on a shared server, aborted the running solve with
Assertion failed in file .../netmod/tcp/socksm.c. - Leaner wheels. SDPB is built with only the libraries the extension uses. The wheels bundle 18 libraries instead of 32 and are 69 MB instead of 75 MB. libarchive, libxml2, OpenSSL, zstd, lz4, bz2, acl and MPSolve are gone.
- Removed
solve_dirandSDPBResult(breaking).solve_dirwas the passthrough to SDPB's command line on ansdp/directory and was the only user of the removed libraries. Build the problem withread_pmp_jsonor thePMP/LMIclasses and call.solve()instead. - Building from source needs fewer dependencies: libarchive, libxml2 and MPSolve are no longer required.
Full Changelog: v0.2.1...v0.3.0