diff options
Diffstat (limited to 'tests/examplefiles/test.cu')
-rw-r--r-- | tests/examplefiles/test.cu | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/examplefiles/test.cu b/tests/examplefiles/test.cu new file mode 100644 index 00000000..19f66802 --- /dev/null +++ b/tests/examplefiles/test.cu @@ -0,0 +1,36 @@ +#include <stdio.h> + +// __device__ function +__device__ void func() +{ + short* array0 = (short*)array; + float* array1 = (float*)&array0[127]; +} + +/* __global__ function */ +__global__ static void reduction(const float* __restrict__ input, float *output, clock_t *timer) +{ + // __shared__ float shared[2 * blockDim.x]; + extern __shared__ float shared[]; + + const int tid = threadIdx.x; + const int bid = blockIdx.x; + + if (threadIdx.x == 0) { + __threadfence(); + } + + // Perform reduction to find minimum. + for (int d = blockDim.x; d > 0; d /= 2) + { + __syncthreads(); + } +} + +int main(int argc, char **argv) +{ + dim3 dimBlock(8, 8, 1); + + timedReduction<<<dimBlock, 256, 256, 0>>>(dinput, doutput, dtimer); + cudaDeviceReset(); +} |