diff options
| author | ruki <[email protected]> | 2018-04-28 00:47:39 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2018-04-27 22:45:56 +0800 |
| commit | 119dd6ff5786ef7a390b98b0558554029113f0dd (patch) | |
| tree | 2fa5d1196a8951c0f8e4ad67c8b443b47280a0ab /tests/projects/cuda/console/src | |
| parent | 7d486e88c2b3301449974e0e97168bc0f0fd6c64 (diff) | |
add wdk tests
Diffstat (limited to 'tests/projects/cuda/console/src')
| -rw-r--r-- | tests/projects/cuda/console/src/main.cu | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/tests/projects/cuda/console/src/main.cu b/tests/projects/cuda/console/src/main.cu new file mode 100644 index 000000000..a02371a2d --- /dev/null +++ b/tests/projects/cuda/console/src/main.cu @@ -0,0 +1,61 @@ +/* + * Copyright 1993-2015 NVIDIA Corporation. All rights reserved. + * + * Please refer to the NVIDIA end user license agreement (EULA) associated + * with this source code for terms and conditions that govern your use of + * this software. Any use, reproduction, disclosure, or distribution of + * this software and related documentation outside the terms of the EULA + * is strictly prohibited. + * + */ + + +// System includes +#include <stdio.h> +#include <assert.h> + +// CUDA runtime +#include <cuda_runtime.h> + +// helper functions and utilities to work with CUDA +#include <helper_functions.h> +#include <helper_cuda.h> + +#ifndef MAX +#define MAX(a,b) (a > b ? a : b) +#endif + +__global__ void testKernel(int val) +{ + printf("[%d, %d]:\t\tValue is:%d\n",\ + blockIdx.y*gridDim.x+blockIdx.x,\ + threadIdx.z*blockDim.x*blockDim.y+threadIdx.y*blockDim.x+threadIdx.x,\ + val); +} + +int main(int argc, char **argv) +{ + int devID; + cudaDeviceProp props; + + // This will pick the best possible CUDA capable device + devID = findCudaDevice(argc, (const char **)argv); + + //Get GPU information + checkCudaErrors(cudaGetDevice(&devID)); + checkCudaErrors(cudaGetDeviceProperties(&props, devID)); + printf("Device %d: \"%s\" with Compute %d.%d capability\n", + devID, props.name, props.major, props.minor); + + printf("printf() is called. Output:\n\n"); + + //Kernel configuration, where a two-dimensional grid and + //three-dimensional blocks are configured. + dim3 dimGrid(2, 2); + dim3 dimBlock(2, 2, 2); + testKernel<<<dimGrid, dimBlock>>>(10); + cudaDeviceSynchronize(); + + return EXIT_SUCCESS; +} + |
