Graphite
Loading...
Searching...
No Matches
graphite::cudssSolver< T, S > Class Template Reference
Inheritance diagram for graphite::cudssSolver< T, S >:
Collaboration diagram for graphite::cudssSolver< T, S >:

Public Member Functions

 cudssSolver (bool use_hybrid_execution)
 
virtual void update_structure (Graph< T, S > *graph, StreamPool &streams) override
 
virtual void update_values (Graph< T, S > *graph, StreamPool &streams) override
 
virtual void set_damping_factor (Graph< T, S > *graph, T damping_factor, StreamPool &streams) override
 
virtual bool solve (Graph< T, S > *graph, T *x, StreamPool &streams) override
 

Private Types

using StorageIndex = int32_t
 

Private Member Functions

void fill_matrix_structure ()
 
void fill_matrix_values ()
 

Private Attributes

Hessian< T, S > H
 
CSCMatrix< S, StorageIndex > d_matrix
 
bool factorization_failed
 
cudaStream_t stream
 
cudssHandle_t handle
 
cudssConfig_t solver_config
 
cudssData_t solver_data
 
cudssMatrix_t m_x
 
cudssMatrix_t m_b
 
cudssMatrix_t m_A
 
thrust::device_vector< T > solver_x
 

Member Function Documentation

◆ set_damping_factor()

template<typename T , typename S >
virtual void graphite::cudssSolver< T, S >::set_damping_factor ( Graph< T, S > *  graph,
damping_factor,
StreamPool streams 
)
inlineoverridevirtual

◆ solve()

template<typename T , typename S >
virtual bool graphite::cudssSolver< T, S >::solve ( Graph< T, S > *  graph,
T *  x,
StreamPool streams 
)
inlineoverridevirtual

◆ update_structure()

template<typename T , typename S >
virtual void graphite::cudssSolver< T, S >::update_structure ( Graph< T, S > *  graph,
StreamPool streams 
)
inlineoverridevirtual

◆ update_values()

template<typename T , typename S >
virtual void graphite::cudssSolver< T, S >::update_values ( Graph< T, S > *  graph,
StreamPool streams 
)
inlineoverridevirtual

The documentation for this class was generated from the following file: