File indexing completed on 2026-07-26 08:22:26
0001
0002
0003
0004
0005
0006
0007
0008
0009 #include <gtest/gtest.h>
0010
0011 TEST(CUDABasic, DeviceCount) {
0012 int nDev = -1;
0013
0014 ASSERT_EQ(cudaGetDeviceCount(&nDev), cudaSuccess);
0015
0016 ASSERT_GE(nDev, 1);
0017 }
0018
0019 TEST(CUDABasic, Memory) {
0020 void *ptr = nullptr;
0021
0022 ASSERT_EQ(cudaMalloc(&ptr, 1024), cudaSuccess);
0023
0024 ASSERT_NE(ptr, nullptr);
0025
0026 ASSERT_EQ(cudaFree(ptr), cudaSuccess);
0027 }
0028
0029 __global__ void testKernel(int *output) {
0030 *output = 0x0BADF00D;
0031 }
0032
0033 TEST(CUDABasic, LaunchKernel) {
0034 int *ptr = nullptr;
0035 int val = 0;
0036
0037 ASSERT_EQ(cudaMalloc(&ptr, sizeof(int)), cudaSuccess);
0038
0039 ASSERT_NE(ptr, nullptr);
0040
0041 testKernel<<<1, 1>>>(ptr);
0042
0043 ASSERT_EQ(cudaPeekAtLastError(), cudaSuccess);
0044
0045 ASSERT_EQ(cudaMemcpy(&val, ptr, sizeof(int), cudaMemcpyDeviceToHost),
0046 cudaSuccess);
0047
0048 ASSERT_EQ(val, 0x0BADF00D);
0049
0050 ASSERT_EQ(cudaFree(ptr), cudaSuccess);
0051 }