#include #include #define HIP(e) \ if (hipError_t err = (e); err != hipSuccess) { \ std::cerr << __FILE__ << ":" << __LINE__ << " " << err << "\n"; \ exit(1); \ } __global__ void set(double* p, size_t n) { for (size_t idx = blockIdx.x * blockDim.x + threadIdx.x; idx < n; idx += gridDim.x * blockDim.x) { p[idx] = idx; } } int main(void) { size_t n = 1024 * 1024; double *p; p = (double*)malloc(sizeof(double)*n); HIP(hipDeviceSynchronize()); hipLaunchKernelGGL(set, dim3(128), dim3(128), 0, 0, p, n); HIP(hipDeviceSynchronize()); return 0; }