diff options
| author | KunoiSayami <[email protected]> | 2021-12-19 15:25:11 +0800 |
|---|---|---|
| committer | KunoiSayami <[email protected]> | 2021-12-19 15:25:11 +0800 |
| commit | 9406aaf2566cc68e75cc01ba02dfa83b2179d9f6 (patch) | |
| tree | b80c521318002cde4848c947a9f9314cf2021b32 /db/skiplist_test.cu | |
| parent | 4e02041bb14d92d8e724bd81430f8f48658c37ca (diff) | |
test(skiplist): Make cuda code work in test
Signed-off-by: KunoiSayami <[email protected]>
Diffstat (limited to 'db/skiplist_test.cu')
| -rw-r--r-- | db/skiplist_test.cu | 49 |
1 files changed, 41 insertions, 8 deletions
diff --git a/db/skiplist_test.cu b/db/skiplist_test.cu index 0022c84..a9f7e08 100644 --- a/db/skiplist_test.cu +++ b/db/skiplist_test.cu @@ -17,7 +17,7 @@ #include "util/random.cuh" #include "util/testutil.h" -#include "gtest/gtest.h" +#include "util/cuda_gtest_plugin.h" namespace leveldb { @@ -364,10 +364,41 @@ __global__ void insert_and_lookup(SkipList<Key, Comparator> * skipList) { } + +__device__ void new_cuda_atomic() { +} + +class TestClass { + public: + explicit __device__ TestClass(): atomic(0), alloc_ptr_(nullptr), alloc_bytes_remaining_(0), + head_(nullptr), blocks_(nullptr) { + + } + + TestClass(const TestClass&) = delete; + TestClass& operator=(const TestClass&) = delete; + + char* alloc_ptr_; + size_t alloc_bytes_remaining_; + + // Array of new[] allocated memory blocks + //thrust::host_vector<char *> blocks_; + //std::vector<char*> blocks_; + + void * head_; + void * blocks_; + + cuda::atomic<size_t> atomic; +}; + __global__ void init(Arena ** pArena, SkipList<Key, Comparator> ** pSkipList) { Comparator cmp; + printf("init\n"); + //cuda::atomic<size_t> a; *pArena = new Arena(); - *pSkipList = new SkipList<Key, Comparator>(cmp, reinterpret_cast<Arena*>(&*pArena)); + printf("init arena\n"); + //*pSkipList = new SkipList<Key, Comparator>(cmp, reinterpret_cast<Arena*>(&*pArena)); + printf("init2\n"); } @@ -380,12 +411,13 @@ __host__ void host_insert_test() { keys[i] = .Next(); }*/ Arena * pArena; + cudaMalloc((void**)&pArena, sizeof(*pArena)); SkipList<Key, Comparator> * skipList; auto * device_rnd = new Random(test::RandomSeed()); dim3 blockSize(1, 1); - dim3 gridSize(32, 32); + dim3 gridSize(1, 1); init<<<gridSize, blockSize>>>(&pArena, &skipList); cudaDeviceSynchronize(); @@ -396,7 +428,7 @@ __host__ void host_insert_test() { insert_and_lookup<<<gridSize, blockSize>>>(skipList); cudaDeviceSynchronize(); - + std::cout << "test"; } @@ -427,9 +459,8 @@ __global__ void test_fail() { assert(0); } -TEST(SkipTest, Empty) { - test_fail<<<1,1>>>(); - cudaDeviceSynchronize(); +CUDA_TEST(SkipTest, Empty) { + } /* @@ -522,5 +553,7 @@ TEST(SkipTest, Concurrent5) { RunConcurrent(5); } int main(int argc, char** argv) { testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); + int i = RUN_ALL_TESTS(); + sleep(1); + return i; } |
