Skip to content

Commit f6c9c5d

Browse files
committed
removing something unneeded from an example. first cut at hiopbbpy documentation
1 parent 4bebfe5 commit f6c9c5d

File tree

3 files changed

+45
-7
lines changed

3 files changed

+45
-7
lines changed

doc/src/sections/hiopbbpy.tex

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
%!TEX root = ../techrep_main.tex
2+
3+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4+
%% HiOpBBpy
5+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6+
\section{HiOpBBpy}
7+
8+
\Hi offers a Bayesian optimization \Hibbpy solver to determine approximate global optimizers of black-box functions. Here, we detail how to install and utilize the package.
9+
10+
\subsection{HiOpBBpy installation}
11+
12+
\Hibbpy depends on the surrogate modeling toolkit (smt) and cyipopt which is a python wrapper of ipopt. In order to expose ipopt to cyipopt one can export the \verb~IPOPT_PATH~ and
13+
14+
\begin{verbatim}
15+
> export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$IPOPT_PATH/lib/pkgconfig
16+
> export PATH=$PATH:$IPOPT_PATH/bin
17+
\end{verbatim}
18+
19+
To then install \Hibbpy from the home directory of \Hi:
20+
\begin{verbatim}
21+
> pip install .
22+
\end{verbatim}
23+
The ipopt libaries are then exposed:
24+
\begin{verbatim}
25+
> export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$IPOPT_PATH/lib
26+
\end{verbatim}

doc/src/techrep_main.tex

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@
119119
\algnewcommand\Output{\item[\algorithmicoutput]}
120120

121121
\newcommand{\Hi}{\texttt{HiOp}\xspace}
122+
\newcommand{\Hibbpy}{\texttt{HiOpBBpy}\xspace}
122123
\newcommand{\ignore}[1]{}
123124

124125
\begin{document}
@@ -232,13 +233,14 @@
232233

233234
\section{Introduction}
234235

235-
This document describes the \Hi suite of HPC optimization solvers for some large-scale nonconvex nonlinear programming problems (NLPs). Four main classes of optimization problems are supported by \Hi.
236+
This document describes the \Hi suite of HPC optimization solvers for some large-scale nonconvex nonlinear programming problems (NLPs). Five main classes of optimization problems are supported by \Hi.
236237
\begin{itemize}
237238
\item \texttt{HiOp-Dense} supports NLPs with billions of variables with or without bounds but only limited number of
238239
constraints. This solver is a memory-distributed, MPI-based quasi-Newton interior-point solver using limited-memory approximations for the Hessians.
239240
\item \texttt{HiOp-Sparse} supports general sparse and large-scale NLPs sparse second-order derivatives. This functionality is similar to that of the state-of-the-art Ipopt~\cite{waecther_05_ipopt0}, but with additional features such as the inertia-free approach~\cite{Chiang2016}. The solver offers GPU acceleration via Nvidia CUDA Toolkit or AMD HIP Toolkit, and requires RAJA portability abstraction layer when GPU acceleration is enabled.
240241
\item \texttt{HiOp-MDS} supports NLPs that have dense and sparse blocks, for which a ``Newton'' interior-point solver is available together with a specialized, so-called mixed dense-sparse (MDS) linear algebra capable of achieving good performance on GPUs via Magma dense linear solver.
241242
\item \texttt{HiOp-PriDec} is an asynchronous memory-distributed optimization solver for two-stage stochastic programming problems. It implements a master-worker asynchronous scheduler based on MPI to improve load balancing. GPU acceleration can be achieved in solving each subproblem by \texttt{HiOp-MDS} or \texttt{HiOp-Sparse}.
243+
\item \texttt{HiOpBBpy-BOAlgorithm} is a Bayesian optimization solver for low-dimensional expensive black-box functions subject to constraints. This solver makes use of batched Bayesian optimization methods and utilizes a master-worker scheduler in to evaluate the objective on the point batch.
242244
\end{itemize}
243245

244246
This document includes instructions on how to obtain and
@@ -970,11 +972,27 @@ \subsection{Compiling and linking your project with the \Hi library}
970972
In addition, a shared dynamic load library can be also built by using \texttt{HIOP\_BUILD\_SHARED} option with cmake.
971973

972974

975+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
976+
%% HiOpBBpy
977+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
978+
\input{sections/hiopbbpy.tex}
979+
980+
981+
973982
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
974983
%% Solver options
975984
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
976985
\input{sections/solver_options.tex}
977986

987+
988+
989+
990+
991+
992+
993+
994+
995+
978996
%\input{old_stuff}
979997

980998
\section{Licensing and copyright}

src/Drivers/hiopbbpy/BODriverEX.py

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,6 @@
2121
from hiopbbpy.problems import BraninProblem, LpNormProblem
2222
from hiopbbpy.utils import MPIEvaluator
2323

24-
# Get user input for the number of repetitions from command-line arguments
25-
if len(sys.argv) != 2 or int(sys.argv[1]) < 0:
26-
num_repeat = 1
27-
else:
28-
num_repeat = int(sys.argv[1])
29-
3024
### parameters
3125
n_samples = 5 # number of the initial samples to train GP
3226
theta = 1.e-2 # hyperparameter for GP kernel

0 commit comments

Comments
 (0)