cuLoRADS is a GPU solver for semidefinite programs based on low-rank factorization, augmented-Lagrangian iterations, and ADMM. This repository distributes a precompiled Linux application. The cuLoRADS implementation source is not included.
Current version: 1.1.0.
- Project repository: https://github.com/COPT-Public/cuLoRADS
- Downloads: https://github.com/COPT-Public/cuLoRADS/releases
- Issues: https://github.com/COPT-Public/cuLoRADS/issues
This repository supports installation, integrity verification, command-line use, numerical smoke testing, and integration of the published executable. It does not contain the implementation source or a source build system, so an independent source build and source-level audit are not possible from this repository. Apache-2.0 applies to the distributed cuLoRADS binary and public repository materials; it does not make omitted source files available.
Consequently, this package can be reviewed as a versioned binary distribution or external binary component, but it does not satisfy a requirement that a COIN-OR contribution include buildable implementation source. See COIN_OR_READINESS.md for the checklist mapping.
The authors of the associated cuLoRADS paper, in publication order, are Qiushi Han, Zhenwei Lin, Hanwen Liu, Caihua Chen, Qi Deng, Dongdong Ge, and Yinyu Ye. Qiushi Han is the release contact. See AUTHORS and CITATION.cff.
- 64-bit x86 Linux with the AES-NI CPU feature
- an NVIDIA GPU and working NVIDIA driver
- a driver compatible with the bundled CUDA 13.3 user-space runtime
- sufficient host and GPU memory for the selected problem
The 1.1.0 package was built with Julia 1.12.6 for the generic,+aes CPU target
on a system using glibc 2.35. Compatibility with older Linux distributions has
not been established. Julia and a separate CUDA toolkit are not required.
There is no CPU solver fallback.
Download these two files from the
v1.1.0 release:
cuLoRADS-1.1.0-linux-x86_64.tar.zstcuLoRADS-1.1.0-linux-x86_64.tar.zst.sha256
Then verify and extract the application:
sha256sum -c cuLoRADS-1.1.0-linux-x86_64.tar.zst.sha256
tar --zstd -xf cuLoRADS-1.1.0-linux-x86_64.tar.zst
cd cuLoRADS-1.1.0-linux-x86_64
./scripts/verify_install.shKeep the complete extracted directory together. bin/cuLoRADS launches the
compiled program using the adjacent lib/, libexec/, and share/ trees;
neither executable in bin/ is a standalone installation.
See INSTALL.md for detailed requirements and troubleshooting.
Check GPU access and solve the included two-dimensional example:
nvidia-smi
CUDA_VISIBLE_DEVICES=0 ./scripts/run_example.shA successful run prints Problem Solved and writes
results/tiny.out.mat. To solve another problem:
mkdir -p /absolute/path/to/results
CUDA_VISIBLE_DEVICES=0 ./bin/cuLoRADS \
--filePath /absolute/path/to/problem.dat-s \
--outputPath /absolute/path/to/results \
--timeSecLimit 600--filePath accepts sparse SDPA .dat-s files and SeDuMi-style .mat files
containing A (or At), b, c, and K. The output directory must already
exist. A saved .out.mat file contains:
primal_sdp: low-rank factorsU; reconstruct each SDP block asU * U'primal_lp: the primal linear-variable vectordual: the dual-variable vector
See docs/CLI.md for every option and docs/INTEGRATION.md for child-process integration.
The final 1.1.0 application was verified on an NVIDIA H100 80 GB GPU with
driver 595.71.05. The packaged example passed the archive integrity check,
completed with Problem Solved, and satisfied independent objective,
feasibility, and positive-semidefiniteness checks. See
docs/VALIDATION.md for the recorded scope and tolerances.
The repository workflow checks metadata and scripts on hosted Linux. An automatic or manually dispatched hosted job downloads the published assets and checks the archive checksum, layout, source boundary, and internal manifest. An opt-in job runs the published application and numerical checker on a configured self-hosted NVIDIA runner. Hosted CI does not claim GPU coverage.
The cuLoRADS binary distribution and repository documentation are provided under the Apache License 2.0. Bundled Julia, CUDA, and other runtime components retain their own licenses; see THIRD_PARTY_NOTICES.md and the license collection in the release archive.
Qiushi Han, Zhenwei Lin, Hanwen Liu, Caihua Chen, Qi Deng, Dongdong Ge, and Yinyu Ye, “Large-scale semidefinite programming with graphics processing units,” Proceedings of the National Academy of Sciences, 123(40), e2516128123, 2026. https://doi.org/10.1073/pnas.2516128123
The preprint is available as arXiv:2407.15049.
Machine-readable citation metadata is available in CITATION.cff.