Deprecate Solver::Options::num_linear_solver_threads

1. Solver::Options::num_threads now controls parallelism in Ceres
   Solver. The user specified value of
   Solver::Options::num_linear_solver_threads is ignored.
2. If the user specifies Solver::Options::num_linear_solver_threads
   and it is different from Solver::Options::num_threads,
   a warning is printed.
3. Solver::Summary:num_linear_solver_threads_given and
   Solver::Summary::num_linear_solver_threads_used are also
   deprecated and are always set to Solver::Summary::num_threads_given
   and Solver::Summary::num_threads_used.

Change-Id: I20b9336d9336e400e6f0a15b63857c0c43eb271c
This commit is contained in:
Sameer Agarwal
2018-02-27 17:02:04 -08:00
parent d9d8de556a
commit 3d933750a7
7 changed files with 62 additions and 33 deletions
+23 -5
View File
@@ -1282,7 +1282,12 @@ elimination group [LiSaad]_.
.. member:: int Solver::Options::num_linear_solver_threads
Default: ``1``
Default: ``-1``
**This field is deprecated, and is ignored by
Ceres. Solver::Options::num_threads controls threading for all
of Ceres Solver. This setting is scheduled to be removed in
1.15.0.**
Number of threads used by the linear solver.
@@ -2125,20 +2130,33 @@ The three arrays will be:
Number of threads actually used by the solver for Jacobian and
residual evaluation. This number is not equal to
:member:`Solver::Summary::num_threads_given` if neither `OpenMP` nor `TBB`
is available.
:member:`Solver::Summary::num_threads_given` if none of `OpenMP`,
`TBB` or `CXX11_THREADS` is available.
.. member:: int Solver::Summary::num_linear_solver_threads_given
**This field is deprecated, and is ignored by
Ceres. Solver::Summary::num_threads_given should be used
instead.
This field is scheduled to be removed in 1.15.0. In the interim the
value of this field will be num_threads_given.**
Number of threads specified by the user for solving the trust
region problem.
.. member:: int Solver::Summary::num_linear_solver_threads_used
**This field is deprecated. Solver::Summary::num_threads_used
should be used instead.
This field is scheduled to be removed in 1.15.0. In the interim the
value of this field will be num_threads_used.**
Number of threads actually used by the solver for solving the trust
region problem. This number is not equal to
:member:`Solver::Summary::num_linear_solver_threads_given` if neither
`OpenMP` nor `TBB` is available.
:member:`Solver::Summary::num_linear_solver_threads_given` if none
of `OpenMP`, `TBB` or `CXX11_THREADS` is available.
.. member:: LinearSolverType Solver::Summary::linear_solver_type_given