Tags: MIT-Lu-Lab/cuPDLPx
Tags
Add cusparseSpMVOp backend with compile-time auto-detection (#88) * working SpMVop * update * improve SpMVOp via cupdlpx_spmv_ctx_t * update feasibility polishing spmv * Apply formatter * fix spmvop version issue * add more CUDA versions to CI * CI: update cuda-toolkit setting * update build.yml * update build.yml * update SpMV backend in readme * update version to v0.2.8
CUDA Graph (#71) * refactor iteration loop * fix bug * refactor: takeout the first iteration from the inner loop * working CUDA graph * fuse halpern update kernel * add delta solution scaling * change fixed point error scaling to 2 * update * update compute_next_dual_solution_kernel * move cumulative_time_sec into check_termination_criteria and fix feasibility polishing timing bug * add __restrict__ for all kernels * remove old kernels and support cuda graph in feasibility polishing * fix feasibility polishing time limit check * update * update preconditioning log * update * update * update CMAKE_CUDA_ARCHITECTURES * bump to v0.2.5
Add GPU implementation of preconditioner - v2 (#31) * New feat: GPU precondition * New feat: synchronized A/At scaling * Todo: infeasible is stucked * New feat: preconditioner prints * Bug fixed: objective & bound rescale * feat: add logging for precondition time * Bug fixed: numerical issue * Clean code: clang-format and align naming style * Clean code: rename variables * Refactor: move finite-bound computation * Numerical issue: back to old version * Code refactor: CUB DeviceReduce for bound norm * Bug fixed: typo * Clean code: Limit CUB headers to device_reduce to reduce compile time * Clean code * Bug fixed: warm start solution * Bug fixed: illegal memory access in bound * Bug fixed: norm computation on scaled bound * Revert "Bug fixed: norm computation on scaled bound" This reverts commit d372a20. * Bug fixed: unused sv params * New feat: add verbose logging * New ver: 0.2.4
Integrate PSLP Presolver (#41) * add PSLP presolver * fix: correct the reduced cost in PSLP postsolve * add presolve stats * test PSLP relax_bounds false * remove PSLP_INF * add presolve_setup_time and presolve_time record, improve reduce prob memory * set relax_bounds to True (default) * fix Segmentation fault when presolve detected infeasible * refactor: PSLP presolve * add verbose check for log * set use_presolve to true by default * rename use_presolve to presolve * refactor: add presolve in python interface * docs: add presolve in readme * feat: release v0.2.0 * fix: off-by-one iteration error and ensure consistent final metrics
PreviousNext