@@ -16,6 +16,7 @@ limitations under the License.
1616
1717#pragma once
1818
19+ #include "cusparse_compat.h"
1920#include "internal_types.h"
2021#include <cublas_v2.h>
2122#include <cuda_runtime.h>
@@ -63,9 +64,6 @@ extern "C"
6364
6465#define THREADS_PER_BLOCK 256
6566
66- extern const double HOST_ONE ;
67- extern const double HOST_ZERO ;
68-
6967 void * safe_malloc (size_t size );
7068
7169 void * safe_calloc (size_t num , size_t size );
@@ -79,6 +77,45 @@ extern "C"
7977 int max_iterations ,
8078 double tolerance );
8179
80+ bool cupdlpx_use_spmvop_by_default (void );
81+
82+ void cupdlpx_spmv_buffer_size (cusparseHandle_t sparse_handle ,
83+ cusparseSpMatDescr_t mat ,
84+ cusparseDnVecDescr_t vec_x ,
85+ cusparseDnVecDescr_t vec_y ,
86+ size_t * buffer_size );
87+
88+ void cupdlpx_spmv_prepare (cusparseHandle_t sparse_handle ,
89+ cusparseSpMatDescr_t mat ,
90+ cusparseDnVecDescr_t vec_x ,
91+ cusparseDnVecDescr_t vec_y ,
92+ void * buffer ,
93+ void * * descr ,
94+ void * * plan );
95+
96+ void cupdlpx_spmv_release (void * descr , void * plan );
97+
98+ void cupdlpx_spmv_execute (cusparseHandle_t sparse_handle ,
99+ cusparseSpMatDescr_t mat ,
100+ cusparseDnVecDescr_t vec_x ,
101+ cusparseDnVecDescr_t vec_y ,
102+ void * buffer ,
103+ void * plan );
104+
105+ void * cupdlpx_spmv_ctx_create (cusparseHandle_t sparse_handle ,
106+ const cu_sparse_matrix_csr_t * A ,
107+ const cu_sparse_matrix_csr_t * AT ,
108+ const double * ax_x_init ,
109+ double * ax_y_init ,
110+ const double * atx_x_init ,
111+ double * atx_y_init );
112+
113+ void cupdlpx_spmv_ctx_destroy (void * ctx );
114+
115+ void cupdlpx_spmv_Ax (cusparseHandle_t sparse_handle , void * ctx , const double * x , double * y );
116+
117+ void cupdlpx_spmv_ATx (cusparseHandle_t sparse_handle , void * ctx , const double * x , double * y );
118+
82119 void compute_interaction_and_movement (pdhg_solver_state_t * solver_state , double * interaction , double * movement );
83120
84121 bool should_do_adaptive_restart (pdhg_solver_state_t * solver_state ,
0 commit comments