|
|
using | BlockDimension = BlockCoordinates |
| |
|
template<typename T , typename Fallback > |
| using | get_State_or_t = typename get_State_or< T, Fallback >::type |
| |
|
using | MatVecDim = BlockDimension |
| |
|
template<typename T > |
| using | VecMap = Eigen::Map< Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > > |
| |
|
template<typename T > |
| using | is_low_precision = is_half_or_bfloat16< T > |
| |
|
template<typename T , typename S > |
| using | InvP = std::conditional_t< is_low_precision< S >::value, T, S > |
| |
|
template<typename T > |
| using | Point = Eigen::Matrix< T, 3, 1 > |
| |
|
template<typename T > |
| using | Camera = Eigen::Matrix< T, 9, 1 > |
| |
|
template<typename T , typename S > |
| using | PointDescriptor = VertexDescriptor< T, S, PointTraits< T > > |
| |
|
template<typename T , typename S > |
| using | CameraDescriptor = VertexDescriptor< T, S, CameraTraits< T > > |
| |
|
template<typename T , typename S > |
| using | ReprojectionError = FactorDescriptor< T, S, ReprojectionErrorTraits< T, S > > |
| |
|
template<typename T , typename S > |
| using | CircleFactor = FactorDescriptor< T, S, CircleFactorTraits< T, S > > |
| |
|
|
template<> |
| EigenLDLTSolverImpl< double, int32_t > * | create_eigen_ldlt_solver< EigenLDLTSolverImpl< double, int32_t > > () |
| |
|
template<> |
| EigenLDLTSolverImpl< float, int32_t > * | create_eigen_ldlt_solver< EigenLDLTSolverImpl< float, int32_t > > () |
| |
|
template<> |
| EigenLDLTSolverImpl< double, int64_t > * | create_eigen_ldlt_solver< EigenLDLTSolverImpl< double, int64_t > > () |
| |
|
template<> |
| EigenLDLTSolverImpl< float, int64_t > * | create_eigen_ldlt_solver< EigenLDLTSolverImpl< float, int64_t > > () |
| |
|
template<> |
| void | destroy_eigen_ldlt_solver< EigenLDLTSolverImpl< double, int32_t > > (EigenLDLTSolverImpl< double, int32_t > *solver) |
| |
|
template<> |
| void | destroy_eigen_ldlt_solver< EigenLDLTSolverImpl< float, int32_t > > (EigenLDLTSolverImpl< float, int32_t > *solver) |
| |
|
template<> |
| void | destroy_eigen_ldlt_solver< EigenLDLTSolverImpl< double, int64_t > > (EigenLDLTSolverImpl< double, int64_t > *solver) |
| |
|
template<> |
| void | destroy_eigen_ldlt_solver< EigenLDLTSolverImpl< float, int64_t > > (EigenLDLTSolverImpl< float, int64_t > *solver) |
| |
|
__host__ __device__ __forceinline__ bool | is_factor_active (const uint8_t active_val, const uint8_t level) |
| |
|
__host__ __device__ __forceinline__ bool | is_vertex_active (const uint8_t *active_state, const size_t vertex_id) |
| |
|
size_t | build_active_indices (const thrust::device_vector< uint8_t > &active, thrust::device_vector< size_t > &active_indices, const size_t count, const uint8_t level) |
| |
|
template<typename DiffMode > |
| constexpr bool | use_autodiff_impl () |
| |
|
template<typename F > |
| constexpr bool | is_analytical () |
| |
|
template<> |
| constexpr bool | use_autodiff_impl< DifferentiationMode::Auto > () |
| |
|
__device__ __forceinline__ size_t | get_thread_id () |
| |
|
template<typename T , size_t I, size_t N, typename M , size_t E, typename F , typename VT , std::size_t... Is> |
| __device__ void | compute_Jblock (T *jacobian, const size_t factor_id, const size_t vertex_id, const M *obs, const typename F::ConstraintDataType *constraint_data, const size_t *ids, const size_t *hessian_ids, VT args, std::index_sequence< Is... >) |
| |
|
template<typename T > |
| cudaDataType_t | get_cuda_data_type () |
| |
|
template<> |
| cudaDataType_t | get_cuda_data_type< double > () |
| |
|
template<> |
| cudaDataType_t | get_cuda_data_type< float > () |
| |
|
template<typename Index > |
| cudaDataType_t | get_cuda_index_type () |
| |
|
template<typename Solver > |
| Solver * | create_eigen_ldlt_solver () |
| |
|
template<typename Solver > |
| void | destroy_eigen_ldlt_solver (Solver *solver) |
| |
|
template<> |
| EigenLDLTSolverImpl< double, int32_t > * | create_eigen_ldlt_solver< EigenLDLTSolverImpl< double, int32_t > > () |
| |
|
template<> |
| EigenLDLTSolverImpl< float, int32_t > * | create_eigen_ldlt_solver< EigenLDLTSolverImpl< float, int32_t > > () |
| |
|
template<> |
| EigenLDLTSolverImpl< double, int64_t > * | create_eigen_ldlt_solver< EigenLDLTSolverImpl< double, int64_t > > () |
| |
|
template<> |
| EigenLDLTSolverImpl< float, int64_t > * | create_eigen_ldlt_solver< EigenLDLTSolverImpl< float, int64_t > > () |
| |
|
template<> |
| void | destroy_eigen_ldlt_solver< EigenLDLTSolverImpl< double, int32_t > > (EigenLDLTSolverImpl< double, int32_t > *solver) |
| |
|
template<> |
| void | destroy_eigen_ldlt_solver< EigenLDLTSolverImpl< float, int32_t > > (EigenLDLTSolverImpl< float, int32_t > *solver) |
| |
|
template<> |
| void | destroy_eigen_ldlt_solver< EigenLDLTSolverImpl< double, int64_t > > (EigenLDLTSolverImpl< double, int64_t > *solver) |
| |
|
template<> |
| void | destroy_eigen_ldlt_solver< EigenLDLTSolverImpl< float, int64_t > > (EigenLDLTSolverImpl< float, int64_t > *solver) |
| |
|
template<typename hp , typename lp > |
| __device__ lp | convert_to_low_precision (const hp &value) |
| |
|
template<typename T > |
| void | prefetch_vector_on_device_async (const thrust::universal_vector< T > &vec, int device_id, cudaStream_t stream) |
| |
|
template<typename T > |
| void | prefetch_vector_on_device_async (const managed_vector< T > &vec, int device_id, cudaStream_t stream) |
| |
|
template<typename T > |
| void | prefetch_vector_on_host (const thrust::universal_vector< T > &vec, cudaStream_t stream) |
| |
|
template<typename T > |
| void | prefetch_vector_on_host (const managed_vector< T > &vec, cudaStream_t stream) |
| |
|
template<typename T > |
| void | print_device_vector (const thrust::device_vector< T > &vec) |
| |
|
template<typename T > |
| void | print_device_vector (const T *vec, size_t size) |
| |
The top-level namespace for Graphite.