aboutsummaryrefslogtreecommitdiff
path: root/offload/unittests/OffloadAPI/device_code/global.cpp
blob: dada16c87766c34d12445acdcbb9b00c533c0f23 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <gpuintrin.h>
#include <stdint.h>

extern "C" {

[[gnu::visibility("default")]]
uint32_t global[64];

__gpu_kernel void write() {
  global[__gpu_thread_id(0)] = __gpu_thread_id(0);
  global[__gpu_thread_id(0)] *= 2;
}

__gpu_kernel void read(uint32_t *out) {
  out[__gpu_thread_id(0) + (__gpu_num_threads(0) * __gpu_block_id(0))] =
      global[__gpu_thread_id(0)];
}
} // extern "C"