19 #include <deal.II/base/config.h> 21 #ifdef DEAL_II_WITH_CUDA 23 # include <deal.II/base/exceptions.h> 25 # include <cusolverDn.h> 26 # include <cusolverSp.h> 27 # include <cusparse.h> 31 DEAL_II_NAMESPACE_OPEN
61 cusolverDnHandle_t cusolver_dn_handle;
63 cusolverSpHandle_t cusolver_sp_handle;
76 malloc(T *&pointer,
const unsigned int n_elements)
78 cudaError_t cuda_error_code =
79 cudaMalloc(&pointer, n_elements *
sizeof(T));
90 cudaError_t cuda_error_code = cudaFree(pointer);
102 cudaError_t cuda_error_code = cudaMemcpy(vector_host.data(),
104 vector_host.size() *
sizeof(T),
105 cudaMemcpyDeviceToHost);
113 template <
typename T>
117 cudaError_t cuda_error_code = cudaMemcpy(pointer_dev,
119 vector_host.size() *
sizeof(T),
120 cudaMemcpyHostToDevice);
126 DEAL_II_NAMESPACE_CLOSE
void malloc(T *&pointer, const unsigned int n_elements)
void copy_to_dev(const std::vector< T > &vector_host, T *pointer_dev)
cusparseHandle_t cusparse_handle
#define AssertCuda(error_code)
void copy_to_host(const T *pointer_dev, std::vector< T > &vector_host)