Conversation
Member
jbcaillau
commented
Feb 25, 2026
- PR tracking develop -> main
- develop stores the latest beta
…link - Combine test/Project.toml into main Project.toml using [extras] and [targets] - Add compat constraints for all test dependencies - Fix broken external reference in docs/src/manual-model.md - Update version to 1.1.7-beta
- Accept CTParser v0.7 and v0.8 - Prepare for CTParser v0.8.2-beta testing - Part of migration tracked in control-toolbox/CTParser.jl#207
Adapt to CTModels v0.7.x and integrate CTSolvers
- Add ctbase.jl with CTBase exception reexports using @reexport import - Add ctdirect.jl with CTDirect types and functions reexports - Add test_ctbase.jl and test_ctdirect.jl to verify reexports - Enable ctdirect.jl include in OptimalControl.jl - Add Reexport dependency to Project.toml - Fix 'Invalid redefinition of constant' error by using proper @reexport import pattern
- Add ctflows.jl with CTFlows types, functions, operators, and macros reexports - Add test_ctflows.jl to verify reexports with proper type checking - Fix test issues: separate types vs functions, handle @lie macro correctly - Enable ctflows.jl include in OptimalControl.jl - All reexport tests now passing (35/35)
- Add reexport tests for CTModels, CTParser, CTSolvers, and ExaModels - Fix @reexport import syntax errors by combining multiple import blocks - Enable ctmodels.jl, ctparser.jl, ctsolvers.jl, and examodels.jl imports - Add module prefix exports (CTBase, CTModels, ExaModels) for generated code - Remove unused plots.jl import file - All reexport tests now pass (426/426 tests)
- Add canonical solve function in src/solve.jl with CommonSolve interface - Export solve function from OptimalControl module - Create test problems (Beam, Goddard) in test/problems/ - Add comprehensive test_canonical.jl testing all combinations: * Discretizers: Collocation (midpoint, trapeze) * Modelers: ADNLPModeler, ExaModeler * Solvers: IpoptSolver, MadNLPSolver * Problems: Beam, Goddard - Add progress printing for test debugging - Update Project.toml dependencies (Reexport version, gitignore) - Remove unused modelers.jl (moved to .save/)
- Change println to print for inline progress display - Add ✓ done confirmation after each test completion
- Add CUDA import and MadNLPGPU dependency - Add CUDA availability check with informative message at module load - Add GPU test section with: * ExaModeler(backend=CUDA.CUDABackend()) * MadNLPSolver(linear_solver=MadNLPGPU.CUDSSSolver) * Guarded by CUDA.functional() check - Tests run only if CUDA is available, otherwise skipped with @info - Update Project.toml to include MadNLPGPU in dependencies and test extras
- Remove redundant validate_initial_guess call (already done in build_initial_guess) - Update comment to reflect build_initial_guess handles both building and validation
- Create test/suite/builders/test_options_forwarding.jl - Test ExaModeler options: base_type and backend (both @test_broken) - Test ADNLPModeler options: name (@test_broken), backend (@test), and advanced backend overrides (@test_broken) - Use MockGPUBackend <: KernelAbstractions.GPU for backend testing - Document which options are currently forwarded vs not forwarded by CTDirect builders
- Remove @reexport from imports that should not be exported - Update test files to use fully qualified type names - Fix test expectations: types should not be exported to Main - Ensure proper module scoping in reexport tests
- Convert 3 @test_broken → @test for advanced ADNLPModeler backends - Add tests for all 7 advanced backend options (gradient, hessian, jacobian, hprod, jprod, jtprod, ghjvprod) - Use Types instead of instances for cleaner API (no args needed) - Add conditional GPU backend test for ExaModeler when CUDA available - Update comments to reflect CTSolvers v0.2.5-beta capabilities - Add CUDA availability check in test files - Fix Goddard problem objective (max → min formulation) - Update runtests.jl with CUDA check - Update test_canonical.jl CUDA check pattern Result: 10 Pass tests (vs 3 Pass, 3 Broken before) Full coverage of all testable backend forwarding options
- Create test_print_utils.jl module with SOLID architecture - Add column headers for better readability - Implement scientific notation for error (8.14e-04 format) - Add phantom sign for positive objectives alignment - Make memory display optional (disabled by default) - Use CTModels iterations() function for proper data extraction - Maintain backward compatibility with existing tests Features: - Professional table format inspired by CTBenchmarks.jl - Real-time progress display with colors - Summary statistics with success rate - Clean separation of concerns (SRP, DIP, DRY) - 48/48 tests passing
…tions with aliases init/i - _descriptive_action_defs() declares initial_guess (aliases: init, i) and display - _build_components_from_routed receives ocp, extracts action options from routed.action - _DEFAULT_DISPLAY and _DEFAULT_INITIAL_GUESS constants as single source of truth - _unwrap_option helper to unwrap OptionValue without duplication - solve_descriptive signature simplified: no more explicit initial_guess/display args - solve_explicit extracts action options from kwargs with _extract_action_kwarg - CommonSolve.solve signature simplified: all kwargs... - _extract_action_kwarg helper with alias conflict detection - OptionValue imported from CTSolvers - All 284 solve tests pass
…max_iter=0 behavior
…dispatch and test_orchestration
…ALIASES/_INITIAL_GUESS_ALIASES_ONLY constants
…xport added reexport ExaLinAlg
Member
Author
|
stupid spell check failure! |
Contributor
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #707 +/- ##
===========================================
+ Coverage 67.74% 89.93% +22.19%
===========================================
Files 2 14 +12
Lines 31 159 +128
===========================================
+ Hits 21 143 +122
- Misses 10 16 +6 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Release v1.2.2-beta
- Add full GPU/CPU parameter support to methods() returning 4-tuples - Implement complete strategy builders with ResolvedMethod support - Enhance registry with parameter-aware strategy mapping - Add comprehensive test coverage (422 tests total): * Component Checks: 26 tests * Component Completion: 29 tests * Descriptive Routing: 75 tests * Kwarg Extraction: 59 tests * Methods: 39 tests * Print: 46 tests * Registry: 65 tests * Strategy Builders: 83 tests - Fix all test failures and ensure 100% pass rate - Add proper dependency handling for strategy building - Support both provided and build paths for strategy construction
- Add tests for is_parameter_type, available_parameters, get_parameter_type - Improve test_registry.jl with parameter validation using CTSolvers functions - Enhance test_dispatch_logic.jl with parametric mocks for parameter testing - Complete test_ctsolvers.jl coverage for all reexported symbols - Fix comment in ctsolvers.jl imports (parameter types are import-only) - Add missing tests for describe and options functions All tests pass with comprehensive coverage of CTSolvers parameter validation functions and proper verification of reexport vs import-only symbols.
- Remove MadNLPMumps import from test_canonical.jl (version conflicts) - Remove MadNLPMumps import from test_explicit.jl (version conflicts) - Update test_solve_modes.jl imports for consistency All tests pass (1169/1169) with clean imports
- Add test_descriptive.jl for descriptive mode testing - Complete and partial symbolic descriptions - Integration tests with real strategies (Beam, Goddard) - Initial guess aliases (init) - Error handling for unknown strategies - Add test_error_handling_simple.jl for robust error testing - Mode detection conflicts (explicit vs descriptive) - Invalid component types and arguments - Edge cases and boundary conditions - Both test files include proper imports for solver extensions - Tests provide comprehensive coverage of Layer 2 solve functionality
Gpu cpu parameter
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.