message: Fix cusparseSpMV warnings for CUDA-11.2
diff: @@ -687,7 +687,12 @@ void SparseMatrix::AddMult(const Vector &x, Vector &y, const double a) const
  // Allocate kernel space. Buffer is shared between different sparsemats
  size_t newBufferSize = 0;
  -#if CUDA_VERSION > 10010 || CUDA_VERSION == 10010
  +#if CUDA_VERSION > 10020 || CUDA_VERSION == 10020
  + cusparseSpMV_bufferSize(handle, CUSPARSE_OPERATION_NON_TRANSPOSE, &alpha,
  + matA_descr,
  + vecX_descr, &beta, vecY_descr, CUDA_R_64F,
  + CUSPARSE_SPMV_CSR_ALG1, &newBufferSize);
  +#elif CUDA_VERSION > 10010 || CUDA_VERSION == 10010
  cusparseSpMV_bufferSize(handle, CUSPARSE_OPERATION_NON_TRANSPOSE, &alpha,
  matA_descr,
  vecX_descr, &beta, vecY_descr, CUDA_R_64F,
  @@ -702,7 +707,15 @@ void SparseMatrix::AddMult(const Vector &x, Vector &y, const double a) const
  CuMemAlloc(&dBuffer, bufferSize);
  }
  -#if CUDA_VERSION > 10010 || CUDA_VERSION == 10010
  +#if CUDA_VERSION > 10020 || CUDA_VERSION == 10020
  + // Update input/output vectors
  + cusparseDnVecSetValues(vecX_descr, const_cast<double *>(d_x));
  + cusparseDnVecSetValues(vecY_descr, d_y);
  +
  + // Y = alpha A * X + beta * Y
  + cusparseSpMV(handle, CUSPARSE_OPERATION_NON_TRANSPOSE, &alpha, matA_descr,
  + vecX_descr, &beta, vecY_descr, CUDA_R_64F, CUSPARSE_SPMV_CSR_ALG1, dBuffer);
  +#elif CUDA_VERSION > 10010 || CUDA_VERSION == 10010
  // Update input/output vectors
  cusparseDnVecSetValues(vecX_descr, const_cast<double *>(d_x));
  cusparseDnVecSetValues(vecY_descr, d_y);
  