From 784f5569424d081728fdfa70ba6bc20a0042dbed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Pacaud?= Date: Mon, 29 Aug 2022 13:53:34 -0500 Subject: [PATCH] prep for release 0.5.0 (#206) --- .github/workflows/docs.yml | 2 +- NEWS.md | 50 ++++++++++++++++++++++++++++++++++ Project.toml | 4 +-- docs/Project.toml | 1 - docs/install.jl | 8 ++++++ docs/make.jl | 4 --- lib/MadNLPGPU/Project.toml | 6 ++-- lib/MadNLPHSL/Project.toml | 6 ++-- lib/MadNLPKrylov/Project.toml | 6 ++-- lib/MadNLPMumps/Project.toml | 6 ++-- lib/MadNLPPardiso/Project.toml | 6 ++-- lib/MadNLPTests/Project.toml | 6 ++-- 12 files changed, 79 insertions(+), 26 deletions(-) create mode 100644 NEWS.md create mode 100644 docs/install.jl diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index c31a8b9d..c502bfe7 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -16,7 +16,7 @@ jobs: with: version: '1.6' - name: Install dependencies - run: julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()' + run: julia --project=docs/ docs/install.jl - name: Build and deploy env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # If authenticating with GitHub Actions token diff --git a/NEWS.md b/NEWS.md new file mode 100644 index 00000000..f25cdbca --- /dev/null +++ b/NEWS.md @@ -0,0 +1,50 @@ +# Release notes + +## v0.5.0 (August 30th, 2022) + +### Breaking changes + +- Change names to follow JSO conventions + - `AbstractInteriorPointSolver` -> `AbstractMadNLPSolver` + - `InteriorPointSolver` -> `MadNLPSolver` + - `IPMOptions` -> `MadNLPOptions` + - `Counters` -> `MadNLPCounters` + - `Logger` -> `MadNLPLogger` +- Linear solvers are now defined as a struct, not a module + - `MadNLPLapackCPU.Solver` -> `LapackCPUSolver` + - `MadNLPUmfpack.Solver` -> `UmfpackSolver` + - `MadNLPLapackGPU.Solver` -> `LapackGPUSolver` + - `MadNLPMa27.Solver` -> `Ma27Solver` + - `MadNLPMa57.Solver` -> `Ma57Solver` + - `MadNLPMa77.Solver` -> `Ma77Solver` + - `MadNLPMa86.Solver` -> `Ma86Solver` + - `MadNLPMa97.Solver` -> `Ma97Solver` + - `MadNLPKrylov.Solver` -> `KrylovIterator` + - `MadNLPMumps.Solver` -> `MumpsSolver` + - `MadNLPPardiso.Solver` -> `PardisoSolver` + - `MadNLPPardisoMKL.Solver` -> `PardisoMKLSolver` +- Refactor the way we pass options to MadNLP + - *Before:* `ips = MadNLP.InteriorPointSolver(nlp; option_dict=sparse_options)` + - *Now:* `ips = MadNLP.MadNLPSolver(nlp; sparse_options...)` + +### New features + +- Add support for `Float32` +- Add support for NLSModels +- Add a function `timing_madnlp` to decompose the time spent in the callbacks and in the linear solver at each iteration +- Add a `CuMadNLPSolver` constructor to instantiate MadNLP on CUDA GPU + +### Bug fixes + +- Stop overwriting the number of threads used in BLAS +- Use symmetric `mul!` when using `DENSE_CONDENSED_KKT_SYSTEM` on the GPU +- Fix unscaling of the constraints during post-processing + +### Performance and maintenance + +- Add a toy nonlinear problem `HS15Model` in MadNLPTests +- Improve the build of MadNLPHSL +- Remove `StrideOneVector` alias in MadNLP +- Update the documentation +- Improve code coverage + diff --git a/Project.toml b/Project.toml index c0d5bffb..c40cee12 100644 --- a/Project.toml +++ b/Project.toml @@ -2,7 +2,7 @@ name = "MadNLP" uuid = "2621e9c9-9eb4-46b1-8089-e8c72242dfb6" authors = ["Sungho Shin"] repo = "https://github.com/sshin23/MadNLP.jl.git" -version = "0.4.2" +version = "0.5.0" [deps] Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb" @@ -18,7 +18,7 @@ SuiteSparse = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9" [compat] MINLPTests = "~0.5" -MadNLPTests = "~0.2" +MadNLPTests = "~0.3" MathOptInterface = "1" NLPModels = "~0.17.2, 0.18, 0.19" SolverCore = "~0.1,~0.2" diff --git a/docs/Project.toml b/docs/Project.toml index a121cb17..0b1fa813 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -1,6 +1,5 @@ [deps] Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" MadNLP = "2621e9c9-9eb4-46b1-8089-e8c72242dfb6" -MadNLPTests = "b52a2a03-04ab-4a5f-9698-6a2deff93217" NLPModels = "a4795742-8479-5a88-8948-cc11e1c8c1a6" SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" diff --git a/docs/install.jl b/docs/install.jl new file mode 100644 index 00000000..bc80ecf9 --- /dev/null +++ b/docs/install.jl @@ -0,0 +1,8 @@ +using Pkg + +MADNLP_DIR = pwd() + +Pkg.develop(path=MADNLP_DIR) +Pkg.develop(PackageSpec(path=joinpath(dirname(@__FILE__), "../lib/MadNLPTests/"))) +Pkg.instantiate() + diff --git a/docs/make.jl b/docs/make.jl index 53a5cb63..e47ac5c6 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -1,10 +1,6 @@ using Documenter -using Pkg using MadNLP -Pkg.develop(PackageSpec(path=joinpath(dirname(@__FILE__), "../lib/MadNLPTests/"))) -Pkg.instantiate() - makedocs( sitename = "MadNLP.jl", format = Documenter.HTML( diff --git a/lib/MadNLPGPU/Project.toml b/lib/MadNLPGPU/Project.toml index 5b092d14..07f1af47 100644 --- a/lib/MadNLPGPU/Project.toml +++ b/lib/MadNLPGPU/Project.toml @@ -1,7 +1,7 @@ name = "MadNLPGPU" uuid = "d72a61cc-809d-412f-99be-fd81f4b8a598" authors = ["Sungho Shin "] -version = "0.3.0" +version = "0.4.0" [deps] CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" @@ -14,8 +14,8 @@ MadNLP = "2621e9c9-9eb4-46b1-8089-e8c72242dfb6" CUDA = "~3" CUDAKernels = "0.4" KernelAbstractions = "0.8" -MadNLP = "~0.4.2" -MadNLPTests = "~0.2" +MadNLP = "~0.5" +MadNLPTests = "~0.3" julia = "1.7" [extras] diff --git a/lib/MadNLPHSL/Project.toml b/lib/MadNLPHSL/Project.toml index 1345e299..5692471e 100644 --- a/lib/MadNLPHSL/Project.toml +++ b/lib/MadNLPHSL/Project.toml @@ -1,7 +1,7 @@ name = "MadNLPHSL" uuid = "7fb6135f-58fe-4112-84ca-653cf5be0c77" authors = ["Sungho Shin "] -version = "0.2.0" +version = "0.3.0" [deps] MadNLP = "2621e9c9-9eb4-46b1-8089-e8c72242dfb6" @@ -10,8 +10,8 @@ BinaryProvider = "b99e7846-7c00-51b0-8f62-c81ae34c0232" Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb" [compat] -MadNLP = "~0.4" -MadNLPTests = "~0.2" +MadNLP = "~0.5" +MadNLPTests = "~0.3" BinaryProvider = "0.5" julia = "1.6" diff --git a/lib/MadNLPKrylov/Project.toml b/lib/MadNLPKrylov/Project.toml index 08278cdb..3dd7fd6e 100644 --- a/lib/MadNLPKrylov/Project.toml +++ b/lib/MadNLPKrylov/Project.toml @@ -1,7 +1,7 @@ name = "MadNLPKrylov" uuid = "1888cb03-ce40-4a36-8d45-ae8231a0e17c" authors = ["Sungho Shin "] -version = "0.2.0" +version = "0.3.0" [deps] IterativeSolvers = "42fd0dbc-a981-5370-80f2-aaf504508153" @@ -9,9 +9,9 @@ MadNLP = "2621e9c9-9eb4-46b1-8089-e8c72242dfb6" [compat] IterativeSolvers = "~0.9" -MadNLP = "~0.4" +MadNLP = "~0.5" julia = "1.6" -MadNLPTests = "~0.2" +MadNLPTests = "~0.3" [extras] MadNLPTests = "b52a2a03-04ab-4a5f-9698-6a2deff93217" diff --git a/lib/MadNLPMumps/Project.toml b/lib/MadNLPMumps/Project.toml index ab99cd8d..e5f1f98c 100644 --- a/lib/MadNLPMumps/Project.toml +++ b/lib/MadNLPMumps/Project.toml @@ -1,7 +1,7 @@ name = "MadNLPMumps" uuid = "3b83494e-c0a4-4895-918b-9157a7a085a1" authors = ["Sungho Shin "] -version = "0.2.0" +version = "0.3.0" [deps] MUMPS_seq_jll = "d7ed1dd3-d0ae-5e8e-bfb4-87a502085b8d" @@ -10,8 +10,8 @@ StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" [compat] MUMPS_seq_jll = "~5.2.1, ~5.3.5" -MadNLP = "~0.4" -MadNLPTests = "~0.2" +MadNLP = "~0.5" +MadNLPTests = "~0.3" StaticArrays = "1" julia = "1.6" diff --git a/lib/MadNLPPardiso/Project.toml b/lib/MadNLPPardiso/Project.toml index 37641c89..c8ab6659 100644 --- a/lib/MadNLPPardiso/Project.toml +++ b/lib/MadNLPPardiso/Project.toml @@ -1,7 +1,7 @@ name = "MadNLPPardiso" uuid = "312ee924-cb12-49df-b284-7304c3902fc0" authors = ["Sungho Shin "] -version = "0.2.0" +version = "0.3.0" [deps] MadNLP = "2621e9c9-9eb4-46b1-8089-e8c72242dfb6" @@ -11,9 +11,9 @@ Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb" MKL_jll = "856f044c-d86e-5d09-b602-aeab76dc8ba7" [compat] -MadNLP = "~0.4.1" +MadNLP = "~0.5" BinaryProvider = "0.5" -MadNLPTests = "~0.2" +MadNLPTests = "~0.3" julia = "1.6" MKL_jll = "~2021,2022" diff --git a/lib/MadNLPTests/Project.toml b/lib/MadNLPTests/Project.toml index 7fd60ab5..3756b6e4 100644 --- a/lib/MadNLPTests/Project.toml +++ b/lib/MadNLPTests/Project.toml @@ -1,7 +1,7 @@ name = "MadNLPTests" uuid = "b52a2a03-04ab-4a5f-9698-6a2deff93217" authors = ["Sungho Shin "] -version = "0.2.1" +version = "0.3.0" [deps] ADNLPModels = "54578032-b7ea-4c30-94aa-7cbd1cce6c9a" @@ -15,7 +15,7 @@ Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [compat] ADNLPModels = "~0.3, 0.4" -JuMP = "~0.23,~1" -MadNLP = "~0.4" +JuMP = "1" +MadNLP = "~0.5" NLPModels = "~0.17.2, 0.18, 0.19" julia = "1.6"