GitPedia
Home/llnl/hiop/Changelog
llnl

llnl/hiop

HPC solver for nonlinear optimization problems

25 Releases
Latest: 9mo ago
HiOpBBpy derivative-free solver and misc upgrades to quasi-Newton and Newton IPMsv1.2.0Latest
cnpetracnpetra·9mo ago·September 11, 2025
GitHub

📦 Version 1.2.0: Release of HiOpBBpy solver for derivative-free optimization

  • HiOpBBpy Batched Bayesian Optimizer @thartland in https://github.com/LLNL/hiop/pull/724
  • HiOpBBpy Nonlinear constraints by @nychiang in https://github.com/LLNL/hiop/pull/726
  • HiOpBBpy parallel MPI evaluation manager to utils by @weslleyspereira in https://github.com/LLNL/hiop/pull/733
  • Derivative checker for quasi-Newton and Newton IPMs by @cnpetra in https://github.com/LLNL/hiop/pull/731
  • HiOpBBpy parallel Evaluator Upgrade by @thartland in https://github.com/LLNL/hiop/pull/734
  • Addressing misc compilation warnings by @cnpetra in https://github.com/LLNL/hiop/pull/738
  • Logger for HiOpBBpy by @nychiang in https://github.com/LLNL/hiop/pull/739
  • README update with HiOpBBpy information by @thartland in https://github.com/LLNL/hiop/pull/742
  • + 1 more

New Contributors

  • @weslleyspereira made their first contribution in https://github.com/LLNL/hiop/pull/733
  • Full Changelog: https://github.com/LLNL/hiop/compare/v1.1.1...v1.2.0
Misc updates to quasi-Newton solver and build system, updates to recent RAJA, and preliminary black-box solverv1.1.1
cnpetracnpetra·1y ago·April 15, 2025
GitHub

📋 What's Changed

  • Consolidating qn solver by @cnpetra in https://github.com/LLNL/hiop/pull/697
  • Qn solver cleanup by @cnpetra in https://github.com/LLNL/hiop/pull/699
  • use clang-format in hiop to keep code style by @nychiang in https://github.com/LLNL/hiop/pull/700
  • Add spack install instructions to README.md by @cameronrutherford in https://github.com/LLNL/hiop/pull/701
  • fix github action packages and commands by @nychiang in https://github.com/LLNL/hiop/pull/704
  • Fix hipblas path by @cnpetra in https://github.com/LLNL/hiop/pull/705
  • Cmake option HIOP_TEST_WITH_SLURM by @thartland in https://github.com/LLNL/hiop/pull/707
  • use C++17 by @nychiang in https://github.com/LLNL/hiop/pull/703
  • + 8 more

New Contributors

  • @thartland made their first contribution in https://github.com/LLNL/hiop/pull/707
  • Full Changelog: https://github.com/LLNL/hiop/compare/v1.1.0...v1.1.1
Scalable checkpointing and restartingv1.1.0
cnpetracnpetra·1y ago·September 30, 2024
GitHub

📋 What's Changed

  • Update cmake paths be relative to hiop project by @chapman39 in https://github.com/LLNL/hiop/pull/684
  • Patch two memory leaks that cause more leaks by @tepperly in https://github.com/LLNL/hiop/pull/685
  • add new function for warmstart by @nychiang in https://github.com/LLNL/hiop/pull/688
  • Fix CI pipeline by @nychiang in https://github.com/LLNL/hiop/pull/694
  • Add working spack build with build cache. by @cameronrutherford in https://github.com/LLNL/hiop/pull/695
  • Checkpointing (quasi-Newton solver) by @cnpetra in https://github.com/LLNL/hiop/pull/693

New Contributors

  • @chapman39 made their first contribution in https://github.com/LLNL/hiop/pull/684
  • Full Changelog: https://github.com/LLNL/hiop/compare/v1.0.3...v1.1.0
NLP Moving limits and misc fixesv1.0.3
cnpetracnpetra·2y ago·February 9, 2024
GitHub

📋 What's Changed

  • Update modules for CI tests on LLNL LC by @nychiang in https://github.com/LLNL/hiop/pull/679
  • Update cmake build system to require RAJA when GPU compute mode is used by @nychiang in https://github.com/LLNL/hiop/pull/676
  • Moving limits options for NLP IPM solvers by @cnpetra in https://github.com/LLNL/hiop/pull/681
  • Full Changelog: https://github.com/LLNL/hiop/compare/v1.0.2...v1.0.3
v1.0.2
cnpetracnpetra·2y ago·December 28, 2023
GitHub

📋 What's Changed

  • Removed deprecated ALG2 for cusparseCsr2cscEx2 by @cnpetra in https://github.com/LLNL/hiop/pull/671
  • Addressed fixed buffer size vulnerability for vsnprintf by @nychiang in https://github.com/LLNL/hiop/pull/673
  • Removed stringent `-Wall` and `-Werror` from release builds to avoid downstream compilation errors
  • Full Changelog: https://github.com/LLNL/hiop/compare/v1.0.1...v1.0.2
C++17 compatible and misc fixesv1.0.1
cnpetracnpetra·2y ago·October 13, 2023
GitHub

📋 What's Changed

  • Default C++ standard remains C++14
  • Fix LLNL CI by @nychiang in https://github.com/LLNL/hiop/pull/663
  • C++17 support: compile -Wall/-Werror proof by @tepperly in https://github.com/LLNL/hiop/pull/653
  • Fix a bug in copying an empty matrix into a bigger matrix by @nychiang in https://github.com/LLNL/hiop/pull/666
  • Fix the approach used to update mu by @nychiang in https://github.com/LLNL/hiop/pull/664
  • Full Changelog: https://github.com/LLNL/hiop/compare/v1.0.0...v1.0.1
Mature solvers interfaces and execution backendsv1.0.0
cnpetracnpetra·2y ago·September 8, 2023
GitHub

Notable new features

  • Instrumentation of RAJA sparse matrix class with execution spaces by @cnpetra in https://github.com/LLNL/hiop/pull/589
  • Fix Assignment Typo in hiopMatrixSparseCsrCuda.cpp by @pate7 in https://github.com/LLNL/hiop/pull/612
  • Use failure not failed in PNNL commit status posting by @cameronrutherford in https://github.com/LLNL/hiop/pull/609
  • rebuild modules on quartz by @nychiang in https://github.com/LLNL/hiop/pull/619
  • Use constraint violation in checkTermination by @nychiang in https://github.com/LLNL/hiop/pull/617
  • MPI communication optimization by @rothpc in https://github.com/LLNL/hiop/pull/613
  • fix memory leaks in inertia-free alg and condensed linsys by @nychiang in https://github.com/LLNL/hiop/pull/622
  • Update IPM algorithm for the dense solver by @nychiang in https://github.com/LLNL/hiop/pull/616
  • + 9 more

New Contributors

  • @pate7 made their first contribution in https://github.com/LLNL/hiop/pull/612
  • @rothpc made their first contribution in https://github.com/LLNL/hiop/pull/613
Execution spaces abstractions and misc fixesv0.7.2
cnpetracnpetra·3y ago·February 20, 2023
GitHub

Notable new features

  • Execution spaces: support for memory backends and execution policies by @cnpetra in https://github.com/LLNL/hiop/pull/543
  • Build: Cuda without raja by @cnpetra in https://github.com/LLNL/hiop/pull/579
  • Update of RAJA-based dense matrix to support runtime execution spaces by @cnpetra in https://github.com/LLNL/hiop/pull/580
  • Reorganization of device namespace by @cnpetra in https://github.com/LLNL/hiop/pull/582
  • RAJA Vector int with ExecSpace by @cnpetra in https://github.com/LLNL/hiop/pull/583
  • Instrumentation of host vectors with execution spaces by @cnpetra in https://github.com/LLNL/hiop/pull/584
  • Remove copy from/to device methods in vector classes by @cnpetra in https://github.com/LLNL/hiop/pull/587
  • Add support for Raja with OpenMP into LLNL CI by @nychiang in https://github.com/LLNL/hiop/pull/566
  • + 6 more

🐛 Bug fixes

  • Refine the computation in normal equation system by @nychiang in https://github.com/LLNL/hiop/pull/530
  • Fix static culibos issue #567 by @nychiang in https://github.com/LLNL/hiop/pull/568
  • Fix segfault, remove nonsymmetric ginkgo solver by @fritzgoebel in https://github.com/LLNL/hiop/pull/548
  • Calculate the inverse objective scale correctly. by @tepperly in https://github.com/LLNL/hiop/pull/570
  • Fix `hiopVectorRajaPar::copyToStartingAt_w_pattern` by @nychiang in https://github.com/LLNL/hiop/pull/569
  • Gitlab pipeline refactor by @CameronRutherford in https://github.com/LLNL/hiop/pull/597

New Contributors

  • @tepperly made their first contribution in https://github.com/LLNL/hiop/pull/570
Misc build system fixesv0.7.1
cnpetracnpetra·3y ago·October 21, 2022
GitHub

📋 What's Changed

  • fixing memory leaks in cuSolver by @kswirydo in https://github.com/LLNL/hiop/pull/554
  • moves pnnl_cleanup to .pre stage and removes files based on age by @jdmacam in https://github.com/LLNL/hiop/pull/555
  • Condensed/normaleqn linear system without CUDA/RAJA by @nychiang in https://github.com/LLNL/hiop/pull/557
  • Fix mds raja example for raja without GPU by @nychiang in https://github.com/LLNL/hiop/pull/558
  • git submodule fixes by @cnpetra in https://github.com/LLNL/hiop/pull/561
  • Misc build system fixes related to HIOP_SPARSE by @cnpetra in https://github.com/LLNL/hiop/pull/560
  • Disable openmp when raja is not used by @nychiang in https://github.com/LLNL/hiop/pull/562
  • Pre stage pipeline fix by @ryandanehy in https://github.com/LLNL/hiop/pull/564
  • + 1 more

New Contributors

  • @jdmacam made their first contribution in https://github.com/LLNL/hiop/pull/555
  • @ryandanehy made their first contribution in https://github.com/LLNL/hiop/pull/564
  • Full Changelog: https://github.com/LLNL/hiop/compare/v0.7.0...v0.7.1
Fortran interface and misc fixes and improvementsv0.7.0
cnpetracnpetra·3y ago·September 30, 2022
GitHub

📋 Changes

  • Fortran interface and examples
  • Bug fixing for sparse device linear solvers
  • Implementation of CUDA CSR matrices
  • Iterative refinement within CUSOLVER linear solver class
  • Improved robustness and performance of mixed dense-sparse solver for AMD/HIP
ginko integration and misc fixesv0.6.2
cnpetracnpetra·4y ago·May 1, 2022
GitHub

This tag provides an initial integration with ginko, fixes a couple of issues, and add options for (outer) iterative refinement.

HIP linear algebra workaround and update for RAJA > v0.14v0.6.1
cnpetracnpetra·4y ago·April 20, 2022
GitHub

This version/tag provides a workaround for an issue in the HIP BLAS and updates the RAJA code to better operate with the newer versions of RAJA.

Release of the PriDec optimization solverv0.6.0
cnpetracnpetra·4y ago·March 31, 2022
GitHub

📋 Changes

  • the release of the primal decomposition (PriDec) solver for structured two-stage problems
  • improved support for (NVIDIA) GPUs for solving sparse optimization problems via NVIDIA's cuSOLVER API and newly developed condensed optimization kernels.
  • improved accuracy in the computations of the search directions via Krylov-based iterative refinement
  • design of a matrix interface for sparse matrices in compressed sparse row format and (capable) CPU reference implementation
Elastic mode, Krylov solvers, and misc bug fixes v0.5.4
cnpetracnpetra·4y ago·March 2, 2022
GitHub

📋 Changes

  • soft feasibility restoration
  • Relaxer of equality constraints at the NLP formulation level
  • Krylov interfaces and implementation for CG and BiCGStab
  • protype of the condensed linear system and initial Krylov-based iterative refinement
  • update of the Magma solver class for the latest Magma API
  • elastic mode
xSDK compliancev0.5.3
cnpetracnpetra·4y ago·December 2, 2021
GitHub

Updated xSDK compliance document for HiOp.

MDS device computations, porting of sparse kernels, and HiOp-PriDec v0.5.0
cnpetracnpetra·4y ago·September 30, 2021
GitHub

📋 Changes

  • update of the interface to MAGMA and capability for running mixed dense-sparse (MDS) problems solely in the device memory space
  • added interface PARDISO linear solver
  • porting of the sparse linear algebra kernels to device via RAJA performance portability layer
  • various optimizations and bug fixes for the RAJA-based dense linear algebra kernels
  • Primal decomposition solver HiOp-PriDec available as a release candidate
MAGMA GPU and PARDISO interfacev0.4.6
cnpetracnpetra·4y ago·August 20, 2021
GitHub

📋 Changes

  • solver class for Magma was updated to work on the GPU
  • interface for PARDISO (CPU)
  • bug fixes for PriDec solver
Dev workflow updatev0.4.4Pre-release
cnpetracnpetra·4y ago·July 7, 2021
GitHub

Updated development workflow on supported CI and fixed a couple of other issues.

small fixesv0.4.3Pre-release
cnpetracnpetra·5y ago·May 6, 2021
GitHub

Fixes for a couple of bugs in RAJA linear algebra implementation and in NLP scaling

Bug fixing for sparse and MDS problems v0.4.2Pre-release
cnpetracnpetra·5y ago·April 30, 2021
GitHub

Fixes a couple of small bugs (corner cases) in the linear algebra objects

Sparse optimization solver and enhanced support for device computationsv0.4.1
cnpetracnpetra·5y ago·April 13, 2021
GitHub

📋 Changes

  • Development of a sparse NLP solver and associated sparse NLP interface
  • Update of the mixed dense-sparse NLP solver to support full GPU compute mode
  • Unit testing and documentation were expanded and consolidated
  • Added partial support for device/GPU computations for the linear algebra of sparse NLPs
  • Second-order corrections to the quasi- and full-Newton search directions
  • Support for the relaxing and adjustment of variables and constraints bounds
  • Implemented gradient-based scaling of the problem
  • Least-squares initialization and computation of the duals
  • + 1 more
Sparse optimization solver and enhanced support for device computationsv0.4
cnpetracnpetra·5y ago·March 31, 2021
GitHub

📋 Changes

  • Development of a sparse NLP solver and associated sparse NLP interface
  • Update of the mixed dense-sparse NLP solver to support full GPU compute mode
  • Unit testing and documentation were expanded and consolidated
  • Added partial support for device/GPU computations for the linear algebra of sparse NLPs
  • Second-order corrections to the full-Newton search directions
  • Support for the relaxing and adjustment of variables and constraints bounds
  • Implemented gradient-based scaling of the problem
  • Least-squares initialization and computation of the duals
  • + 1 more
Newton IPM for MDS and support for GPUsv0.3
cnpetracnpetra·5y ago·October 13, 2020
GitHub

📋 Changes

  • a Newton interior-point solver for nonlinear nonconvex optimization to complement the existing Quasi-Newton interior-point solver
  • capabilities to solve optimization solvers with mixed dense and sparse (MDS) blocks: new MDS interface and new MDS linear algebra
  • support for GPU-based acceleration of MDS linear algebra.
Nlp preprocessing/transformations, MAC OS support, and integration with MFEMv0.2
cnpetracnpetra·7y ago·January 31, 2019
GitHub

📋 Changes

  • implementation of various strategies to deal with fixed variables (relax, remove)
  • comprehensive testing and bug fixing for Mac OS
  • minor fixes of bugs found on various HPC platforms (power pc, bg/q, etc)
  • minor interface and options refinement required by the integration with MFEM mesh optimization interface
Initial releasev0.1
cnpetracnpetra·8y ago·December 24, 2017
GitHub

Fully parallel version that has been used in production with external PDE packages for solving topology optimization problems. Has been deployed on a variety of linux-based systems, including HPC platforms.