hiop

HPC solver for nonlinear optimization problems

OTHER License

Stars
209
Committers
23
hiop - NLP Moving limits and misc fixes Latest Release

Published by cnpetra 9 months ago

What's Changed

Full Changelog: https://github.com/LLNL/hiop/compare/v1.0.2...v1.0.3

hiop - v1.0.2

Published by cnpetra 10 months ago

What's Changed

Full Changelog: https://github.com/LLNL/hiop/compare/v1.0.1...v1.0.2

hiop - C++17 compatible and misc fixes

Published by cnpetra about 1 year ago

What's Changed

Default C++ standard remains C++14

Full Changelog: https://github.com/LLNL/hiop/compare/v1.0.0...v1.0.1

hiop - Mature solvers interfaces and execution backends

Published by cnpetra about 1 year ago

Notable new features

Interfaces of various solvers reached an equilibrium point after HiOp was interfaced with multiple optimization front-ends (e.g., power grid ACOPF and SC-ACOPF problems and topology optimization) both on CPUs and GPUs. The PriDec solver reached exascale on Frontier after minor communication optimizations. The quasi-Newton interior-point solver received a couple of updates that increase robustness. The Newton interior-point solver can fully operate on GPUs with select GPU linear solvers (CUSOLVER-LU and Gingko).

New Contributors

hiop - Execution spaces abstractions and misc fixes

Published by cnpetra over 1 year ago

This release hosts a series of comprehensive internal developments and software re-engineering to improve the portability and performance on accelerators/GPU platforms. No changes to the user interface permeated under this release.

Notable new features

A new execution space abstraction is introduced to allow multiple hardware backends to run concurrently. The proposed design differentiates between "memory backend" and "execution policies" to allow using RAJA with Umpire-managed memory, RAJA with Cuda- or Hip-managed memory, RAJA with std memory, Cuda/Hip kernels with Cuda-/Hip- or Umpire-managed memory, etc.

New vector classes using vendor-provided API were introduced and documentation was updated/improved

Refinement of triangular solver implementation for Ginkgo by @fritzgoebel in https://github.com/LLNL/hiop/pull/585

Bug fixes

New Contributors

hiop - Misc build system fixes

Published by cnpetra about 2 years ago

This minor release fixes a couple of issues found in the build system after the major release 0.7 of HiOp.

What's Changed

New Contributors

Full Changelog: https://github.com/LLNL/hiop/compare/v0.7.0...v0.7.1

hiop - Fortran interface and misc fixes and improvements

Published by cnpetra about 2 years ago

  • 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
hiop - ginko integration and misc fixes

Published by cnpetra over 2 years ago

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

hiop - HIP linear algebra workaround and update for RAJA > v0.14

Published by cnpetra over 2 years ago

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.

hiop - Release of the PriDec optimization solver

Published by cnpetra over 2 years ago

The salient features of v0.6.0 are

  • 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.

Other notable capabilities include

  • 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
hiop - Elastic mode, Krylov solvers, and misc bug fixes

Published by cnpetra over 2 years ago

The release added new algorithmic features to the NLP solver(s) and associated linear algebra KKT systems

  • 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

This release also includes several bug fixes.

hiop - xSDK compliance

Published by cnpetra almost 3 years ago

Updated xSDK compliance document for HiOp.

hiop - MDS device computations, porting of sparse kernels, and HiOp-PriDec

Published by cnpetra about 3 years ago

The salient features of the major release are

  • 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
hiop - MAGMA GPU and PARDISO interface

Published by cnpetra about 3 years ago

  • solver class for Magma was updated to work on the GPU

  • interface for PARDISO (CPU)

  • bug fixes for PriDec solver

hiop - Dev workflow update

Published by cnpetra over 3 years ago

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

hiop - small fixes

Published by cnpetra over 3 years ago

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

hiop - Bug fixing for sparse and MDS problems

Published by cnpetra over 3 years ago

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

Minor fixes missed in v0.4 release.

The salient features of v0.4 release are: [list updated in release v0.4.1]

  • 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
  • Support for inertia computation and regularization for KKT linearizations systems

The salient features of this release are

  • 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
  • Support for inertia computation and regularization for KKT linearizations systems
hiop - Newton IPM for MDS and support for GPUs

Published by cnpetra about 4 years ago

This major release adds

  • 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.