-
-
Notifications
You must be signed in to change notification settings - Fork 76
Add trim tests for LUFactorization, MKLLUFactorization, and RFLUFactorization #820
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add trim tests for LUFactorization, MKLLUFactorization, and RFLUFactorization #820
Conversation
…rization This PR adds trimming tests to LinearSolve.jl, similar to PR SciML#734 in NonlinearSolve.jl. ## Summary - Add `test/trim/` directory with infrastructure for testing trimming - Add tests for LUFactorization, MKLLUFactorization, and RFLUFactorization - Add "Trim" test group to CI configuration - Tests only run on Julia 1.12+ (when trimming was introduced) ## Test Structure The tests verify: 1. LUFactorization works correctly with pre-initialized cache 2. MKLLUFactorization works correctly with pre-initialized cache 3. RFLUFactorization works correctly with pre-initialized cache 4. Each implementation can be successfully compiled with \`juliac --trim\` ## Notes - Trim tests only run on Julia 1.12+ - CI excludes trim tests on LTS and pre-release versions - Tests use a custom environment in \`test/trim/\` to avoid conflicts 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
JuliaFormatter should not be a package dependency. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
|
Fixed: Removed JuliaFormatter from dependencies (it was incorrectly added during formatting and should not be a package dependency) |
Changed reinit!(cache, b_new) to reinit!(cache; b = b_new) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
|
Fixed: Changed |
Changed to capture and return the solution object from solve!(cache) instead of returning the cache itself. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
|
Fixed: Changed to return the solution object from |
- Changed tests to check solution values instead of retcode - Made MKL tests conditional on MKL availability - This fixes CI failures when MKL is not available 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
|
Fixed test failures:
Tests should now pass on CI. |
Changed LinearSolve.usemkl(nothing) to LinearSolve.usemkl since usemkl is a constant boolean, not a function. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
|
Fixed: Changed |
Summary
Add trimming tests to LinearSolve.jl, similar to PR #734 in NonlinearSolve.jl.
This PR adds tests for Julia's trimming feature (available in Julia 1.12+) to verify that LinearSolve can be successfully trimmed when using pre-initialized caches with different LU factorization algorithms.
Changes
test/trim/directory with infrastructure for testing trimmingLUFactorization- Julia's built-in LU factorizationMKLLUFactorization- MKL-based LU factorizationRFLUFactorization- RecursiveFactorization-based LU factorizationTest Structure
The tests verify:
juliac --trimEach test creates a module with:
constpre-initialized problem, algorithm, and cachejuliaccompilationNotes
test/trim/to avoid conflictsRelated
🤖 Generated with Claude Code
Co-Authored-By: Claude noreply@anthropic.com