10#ifndef MILUPHPC_CUDA_RUNTIME_H
11#define MILUPHPC_CUDA_RUNTIME_H
14#include "../parameter.h"
34 gpuErrorcheck(cudaMemcpy(d_var, h_var, count *
sizeof(T), cudaMemcpyHostToDevice));
37 gpuErrorcheck(cudaMemcpy(h_var, d_var, count *
sizeof(T), cudaMemcpyDeviceToHost));
40 printf(
"cuda::copy Target not available!\n");
56 void set(T *d_var, T val, std::size_t count = 1) {
70 void malloc(T *&d_var, std::size_t count) {
#define gpuErrorcheck(ans)
check CUDA call
void copy(T *h_var, T *d_var, std::size_t count=1, To::Target copyTo=To::device)
Copy between host and device and vice-versa.
void set(T *d_var, T val, std::size_t count=1)
Set device memory to a specific value.
void free(T *d_var)
Free device memory.
void malloc(T *&d_var, std::size_t count)
Allocate device memory.