Nonlinear Solver Organization and
Implementation
The solver routines for nonlinear least squares problems use reverse communication interfaces (RCI). That means you need to provide the solver with information required for the iteration process, for example, the corresponding Jacobian matrix, or values of the objective function. RCI removes the dependency of the solver on specific implementation of the operations. However, it does require that you organize a computational loop.
Intel® oneAPI Math Kernel Library
Typical order for invoking RCI solver
routines

The nonlinear least squares problem solver routines,
or Trust-Region (TR) solvers, are implemented with threading support. You can
manage the threads using
Threading Control Functions.
The TR solvers use BLAS and LAPACK routines, and offer the same parallelism as
those domains. The
?jacobi
and
?jacobix
routines of Jacobi matrix calculations are
parallel. These routines (?jacobi
and
?jacobix
) make calls to the user-supplied functions with
different
x
parameters for multiple threads.
Memory Allocation and Handles
To make the TR solver routines easy to use, you are
not required to allocate temporary working storage. The solver allocates any
required memory. To allow multiple users to access the solver simultaneously,
the solver keeps track of the storage allocated for a particular application by
using a data object called a
handle. Each TR solver routine
creates, uses, or deletes a handle. To declare a handle, include
mkl.h
.
Declare
a handle as one of the following:
#include "mkl.h" _TRNSP_HANDLE_t handle;
or
_TRNSPBC_HANDLE_t handle;
The first declaration
is used for nonlinear least squares problems without boundary constraints, and
the second is used for nonlinear least squares problems with boundary
constraints.
Optimization Notice
|
---|
Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.
Notice revision #20110804
|
This notice covers the following instruction sets: SSE2, SSE4.2, AVX2, AVX-512.