diff --git a/CHANGELOG.md b/CHANGELOG.md index 144240c6d..86cb629e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log All notable changes to HiOp are documented in this file. +## Version 0.7.0: Fortran interface and misc fixes and improvements: +- 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 + ## Version 0.6.2: Initial ginkgo solver integration and misc fixes This tag provides an initial integration with ginko, fixes a couple of issues, and add options for (outer) iterative refinement. @@ -8,9 +15,9 @@ This tag provides an initial integration with ginko, fixes a couple of issues, a 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. ## Version 0.6.0: Release of the PriDec optimization and improved GPU computations (March 31, 2022) -The salient features of v0.6.0 are +The salient features of v0.6.0 are -- the release of the primal decomposition (PriDec) solver for structured two-stage problems +- 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 diff --git a/CMakeLists.txt b/CMakeLists.txt index e5847e1ba..93bcbea6b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,7 +11,7 @@ if (POLICY CMP0074) cmake_policy(SET CMP0074 NEW) endif () -project (hiop VERSION "0.6.2") +project (hiop VERSION "0.7.0") string(TIMESTAMP HIOP_RELEASE_DATE "%Y-%m-%d") diff --git a/doc/hiop_usermanual.pdf b/doc/hiop_usermanual.pdf index a506071ba..ddd0a4f08 100644 Binary files a/doc/hiop_usermanual.pdf and b/doc/hiop_usermanual.pdf differ diff --git a/doc/src/techrep_main.tex b/doc/src/techrep_main.tex index 3128eff6f..bdd853bc5 100755 --- a/doc/src/techrep_main.tex +++ b/doc/src/techrep_main.tex @@ -133,7 +133,7 @@ \vspace{3cm} {\huge\bfseries \Hi\ -- User Guide} \\[14pt] - {\large\bfseries version 0.6} + {\large\bfseries version 0.7} \vspace{3cm} @@ -155,7 +155,7 @@ \vspace{4.75cm} \textcolor{violet}{{\large\bfseries Oct 15, 2017} \\ -{\large\bfseries Updated Sep 01, 2022}} +{\large\bfseries Updated Sep 30, 2022}} \vspace{0.75cm} @@ -294,7 +294,12 @@ \subsection{Support of host-device computations using (generic)CPU-(NVIDIA/AMD)G Starting version 0.6, \Hi offers support for offloading computations to AMD GPU accelerators when solving NLPs in the mixed dense-sparse (MDS) form. Support for HIP should be enabled during the build by using \texttt{cmake} options \texttt{-DHIOP\_USE\_GPU} and \texttt{-DHIOP\_USE\_HIP}, which will result in using the HIP accelerators for the internal linear solves. -\Hi's \texttt{cmake} build system is quite versatile to find the dependencies required to offload computations to the device GPUs since was developed and tested on a few GPU-enabled HPC platforms at Oak Ridge, Lawrence Livermore, and Pacific Northwest National Laboratories. These dependencies consist of CUDA library version 10.1 or later, rocm library version 4.5.0 or later and a recent Magma linear solver library (as well as a physical NVIDIA/AMD GPU device). \Hi offers an extensive build support for using customized NVIDIA libraries, AMD libraries and/or Magma solver as well as for advanced troubleshooting. The user is referred to \texttt{cmake/FindHiopCudaLibraries.cmake}, \texttt{cmake/FindHiopHipLibraries.cmake} and \texttt{cmake/FindHiOpMagma.cmake} scripts. +\Hi's \texttt{cmake} build system is quite versatile to find the dependencies required to offload computations to the device GPUs since was developed and tested on a few GPU-enabled HPC platforms at Oak Ridge, Lawrence Livermore, and Pacific Northwest National Laboratories. These dependencies consist of CUDA library version 10.1 or later, rocm library version 4.5.0 or later and a recent Magma linear solver library (as well as a physical NVIDIA/AMD GPU device). \Hi offers an extensive build support for using customized NVIDIA libraries, AMD libraries, and/or Magma solver as well as for advanced troubleshooting. The user is referred to the following CMake scripts for more details: +\begin{itemize} +\item \texttt{cmake/FindHiopCudaLibraries.cmake} +\item \texttt{cmake/FindHiopHipLibraries.cmake} +\item \texttt{cmake/FindHiOpMagma.cmake} scripts. +\end{itemize} \warningcp{Note: } Installing NVIDIA CUDA, AMD HIP, and/or building Magma can be quite challenging. The user is encouraged to rely on preinstalled versions of these, as they are available via \texttt{module} utility on virtually all high-performance computing machines. An example of how to satisfy all the GPU dependencies on Summit supercomputer at Oak Ridge National Lab with a one commands are available at \url{https://github.com/LLNL/hiop/blob/master/README_summit.md}.