pub fn spmv_preprocess<Compute: DataTypeLike>(
ctx: &Context,
operation: Operation,
alpha: Scalar<'_, Compute>,
matrix: &SparseMatrixDescriptor<'_>,
x: &DenseVectorDescriptor<'_>,
beta: Scalar<'_, Compute>,
y: &mut DenseVectorDescriptor<'_>,
algorithm: SpMvAlgorithm,
external_buffer: Option<DevicePtr>,
) -> Result<()>