brintos

brintos / llvm-project-archived public Read only

0
0
Text · 675 B · 396f8f0 Raw
25 lines · plain
1// Tests __device__ function calls2// RUN: cat %s | clang-repl --cuda | FileCheck %s3 4extern "C" int printf(const char*, ...);5 6__device__ inline void test_device(int* value) { *value = 42; }7__global__ void test_kernel(int* value) { test_device(value); }8 9int var;10int* devptr = nullptr;11printf("cudaMalloc: %d\n", cudaMalloc((void **) &devptr, sizeof(int)));12// CHECK: cudaMalloc: 013 14test_kernel<<<1,1>>>(devptr);15printf("CUDA Error: %d\n", cudaGetLastError());16// CHECK-NEXT: CUDA Error: 017 18printf("cudaMemcpy: %d\n", cudaMemcpy(&var, devptr, sizeof(int), cudaMemcpyDeviceToHost));19// CHECK-NEXT: cudaMemcpy: 020 21printf("Value: %d\n", var);22// CHECK-NEXT: Value: 4223 24%quit25