Add a CUDA component to the Ceres package Unlike the other optional backends, CUDA support was not exposed as a package component, so consumers could not require it when finding Ceres. Provide a CUDA component for builds with CUDA support and document it. Change-Id: If15123d617dd35b7dccc138c995ac00351daa778
diff --git a/cmake/CeresCompileOptionsToComponents.cmake b/cmake/CeresCompileOptionsToComponents.cmake index f4ed9ee..bbe39cc 100644 --- a/cmake/CeresCompileOptionsToComponents.cmake +++ b/cmake/CeresCompileOptionsToComponents.cmake
@@ -79,6 +79,8 @@ add_to_output_if_not_found(CURRENT_CERES_COMPILE_OPTIONS ${CERES_COMPONENTS_VAR} CERES_NO_ACCELERATE_SPARSE "AccelerateSparse;SparseLinearAlgebraLibrary") add_to_output_if_not_found(CURRENT_CERES_COMPILE_OPTIONS ${CERES_COMPONENTS_VAR} + CERES_NO_CUDA "CUDA") + add_to_output_if_not_found(CURRENT_CERES_COMPILE_OPTIONS ${CERES_COMPONENTS_VAR} CERES_NO_CUDSS "cuDSS;SparseLinearAlgebraLibrary") add_to_output_if_not_found(CURRENT_CERES_COMPILE_OPTIONS ${CERES_COMPONENTS_VAR} CERES_RESTRICT_SCHUR_SPECIALIZATION "SchurSpecializations")
diff --git a/docs/source/installation.rst b/docs/source/installation.rst index 3c88f7f..8214e23 100644 --- a/docs/source/installation.rst +++ b/docs/source/installation.rst
@@ -882,6 +882,9 @@ #. ``EigenSparse``: Ceres built with Eigen's sparse Cholesky factorization support (``WITH_EIGENSPARSE=ON``). +#. ``CUDA``: Ceres built with NVIDIA CUDA support for ``DENSE_QR``, + ``DENSE_NORMAL_CHOLESKY``, ``DENSE_SCHUR``, and ``CGNR`` (``WITH_CUDA``). + #. ``cuDSS``: Ceres built with NVIDIA cuDSS sparse solver support (``WITH_CUDA`` and ``WITH_CUDSS=ON``).