Document rationale for not reordering program when using Accelerate.

Change-Id: Id11b3920cfdc706133ee497773a537287adc0a27
This commit is contained in:
Alex Stewart
2018-09-16 16:52:11 +01:00
parent df6e27e13b
commit 2bbee09ed8
+6 -3
View File
@@ -569,9 +569,12 @@ bool ReorderProgramForSparseNormalCholesky(
*tsm_block_jacobian_transpose,
&ordering[0]);
} else if (sparse_linear_algebra_library_type == ACCELERATE_SPARSE) {
// TODO(alex): Investigate what analysis on pre-ordered matrices
// Accelerate supports, but for now disable.
// https://github.com/ceres-solver/ceres-solver/issues/394.
// Accelerate does not provide a function to perform reordering without
// performing a full symbolic factorisation. As such, we have nothing
// to gain from trying to reorder the problem here, as it will happen
// in AppleAccelerateCholesky::Factorize() (once) and reordering here
// would involve performing two symbolic factorisations instead of one
// which would have a negative overall impact on performance.
return true;
} else if (sparse_linear_algebra_library_type == EIGEN_SPARSE) {