[Core Refactor / Performance]: Remove the external Rust / Fortran / C packages and accelerate the sparse solver in native Rust#7
Conversation
- Updated `pyproject.toml` to remove unnecessary features from the Rust backend configuration. - Expanded `README.md` to include detailed information on supported platforms and source builds, clarifying installation requirements and usage instructions. - Modified GitHub workflows to separate testing for portable and accelerated backends, improving CI structure and clarity. - Added slow test markers in `test_mode_solver_fixtures.py` to better categorize test execution times.
…solvers - Updated `build.rs` to switch from ARPACK to UMFPACK backend configuration. - Removed ARPACK dependencies from `Cargo.toml` and `Cargo.lock`, streamlining the project. - Added a new benchmark for eigenvalue solvers in `benchmarks/eigensolver_backend_benchmark.rs` to evaluate performance. - Updated `README.md` to reflect changes in backend requirements and installation instructions. - Modified testing workflows to focus on UMFPACK backend, ensuring clarity in CI processes.
📝 WalkthroughWalkthroughThis PR replaces ARPACK/UMFPACK backend solvers with a portable native Rust sparse shift-invert eigensolver featuring AMD ordering, LU factorization, Arnoldi iteration, and detailed profiling. Dependencies, build configuration, public APIs, benchmarks, CI workflows, and documentation are updated throughout to support the portable implementation. ChangesPortable Native Eigensolver Migration
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Closes #6 and #3.
Summary by CodeRabbit
New Features
Documentation
Refactor
Tests