|
|
template<typename T , typename S , size_t N, size_t E> |
| __global__ void | graphite::ops::compute_hessian_block_kernel (const size_t vi, const size_t vj, size_t dim_i, size_t dim_j, const size_t *active_factors, const size_t num_active_factors, const size_t *ids, const size_t *block_offsets, const uint8_t *vi_active, const uint8_t *vj_active, const size_t *hessian_offset_i, const size_t *hessian_offset_j, const S *jacobian_i, const S *jacobian_j, const S *precision, const S *chi2_derivative, S *hessian) |
| |
|
template<typename S , int D> |
| __global__ void | graphite::ops::augment_hessian_diagonal_kernel (S *diagonal_blocks, S *scalar_diagonal, const S mu, const uint8_t *active_state, const size_t num_threads) |
| |
|
template<typename T , typename S , typename V > |
| void | graphite::ops::augment_block_diagonal (V *v, InvP< T, S > *block_diagonal, InvP< T, S > *scalar_diagonal, T mu, cudaStream_t stream) |
| |
|
template<typename T , typename S , int D> |
| __global__ void | graphite::ops::apply_block_jacobi_kernel (T *z, const T *r, S *block_diagonal, const size_t *hessian_ids, const uint8_t *active_state, const size_t num_threads) |
| |
|
template<typename T , typename S , typename V > |
| void | graphite::ops::apply_block_jacobi (V *v, T *z, const T *r, InvP< T, S > *block_diagonal, cudaStream_t stream) |
| |
|
template<typename highp , typename InvP , typename T , size_t I, size_t N, size_t E, size_t D> |
| __global__ void | graphite::ops::compute_hessian_diagonal_kernel (InvP *diagonal_blocks, const T *jacs, const size_t *active_ids, const size_t *ids, const uint8_t *active_state, const T *pmat, const T *chi2_derivative, const size_t num_threads) |
| |
|
template<typename highp , typename InvP , typename T , size_t I, size_t N, size_t E, size_t D, typename VT , typename F > |
| __global__ void | graphite::ops::compute_hessian_diagonal_dynamic_kernel (InvP *diagonal_blocks, const size_t *active_ids, const size_t *ids, const size_t *hessian_ids, const VT args, const typename F::ObservationType *obs, const highp *jacobian_scales, const typename F::ConstraintDataType *constraint_data, const uint8_t *active_state, const T *pmat, const T *chi2_derivative, const size_t num_threads) |
| |
|
template<typename T , typename S , typename F , std::size_t... Is> |
| void | graphite::ops::launch_kernel_block_diagonal (F *f, std::array< InvP< T, S > *, F::get_num_vertices()> &diagonal_blocks, std::array< const size_t *, F::get_num_vertices()> &hessian_ids, std::array< S *, F::get_num_vertices()> &jacs, const T *jacobian_scales, const size_t num_factors, cudaStream_t stream, std::index_sequence< Is... >) |
| |
|
template<typename T , typename S , typename F > |
| void | graphite::ops::compute_block_diagonal (F *f, std::array< InvP< T, S > *, F::get_num_vertices()> &diagonal_blocks, const T *jacobian_scales, cudaStream_t stream) |
| |
|
template<typename highp , typename T , size_t I, size_t N, size_t E, size_t D> |
| __global__ void | graphite::ops::compute_hessian_scalar_diagonal_kernel (highp *diagonal, const T *jacs, const size_t *active_ids, const size_t *ids, const size_t *hessian_ids, const uint8_t *active_state, const T *pmat, const T *chi2_derivative, const size_t num_threads) |
| |
|
template<typename highp , typename T , size_t I, size_t N, size_t E, size_t D, typename VT , typename F , bool use_scales> |
| __global__ void | graphite::ops::compute_hessian_scalar_diagonal_dynamic_kernel (highp *diagonal, const T *jacs, const size_t *active_ids, const size_t *ids, const size_t *hessian_ids, const VT args, const typename F::ObservationType *obs, const highp *jacobian_scales, const typename F::ConstraintDataType *constraint_data, const uint8_t *active_state, const T *pmat, const T *chi2_derivative, const size_t num_threads) |
| |
|
template<typename T , typename S , typename F , std::size_t... Is> |
| void | graphite::ops::launch_kernel_hessian_scalar_diagonal (F *f, T *diagonal, std::array< const size_t *, F::get_num_vertices()> &hessian_ids, std::array< S *, F::get_num_vertices()> &jacs, const T *jacobian_scales, const size_t num_factors, std::index_sequence< Is... >) |
| |
|
template<typename T , typename S , typename F > |
| void | graphite::ops::compute_hessian_scalar_diagonal (F *f, T *diagonal, const T *jacobian_scales) |
| |