Skip to content
This repository has been archived by the owner on Nov 17, 2023. It is now read-only.

Commit

Permalink
add test
Browse files Browse the repository at this point in the history
  • Loading branch information
szha committed Jun 11, 2018
1 parent f3e053b commit d0d8bf7
Showing 1 changed file with 36 additions and 2 deletions.
38 changes: 36 additions & 2 deletions tests/cpp/storage/storage_test.cc
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
/* * Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
Expand All @@ -22,6 +21,7 @@
* \file storage_test.cc
* \brief cpu/gpu storage tests
*/
#include <stdlib.h>
#include <gtest/gtest.h>
#include <dmlc/logging.h>
#include <mxnet/storage.h>
Expand Down Expand Up @@ -60,5 +60,39 @@ TEST(Storage, Basic_GPU) {
storage->Free(handle);
}
}

TEST(GPUStorage, Round_GPU) {
if (mxnet::test::unitTestsWithCuda) {
putenv("MXNET_GPU_MEM_POOL_ROUND_LINEAR_CUTOFF=20");
auto &&storage = mxnet::storage::GPUPooledRoundedStorageManager();
mxnet::Context context_gpu = mxnet::Context::GPU(0);
auto &&handle = mxnet::Storage::Handle();
auto &&handle2 = mxnet::Storage::Handle();
handle.ctx = context_gpu;
handle2.ctx = context_gpu;
handle.size = 32;
handle2.size = 2097153;
storage.Alloc(&handle);
storage.Alloc(&handle2);
assert(handle.size == 32);
assert(handle2.size == 2097153);
auto ptr = handle.dptr;
auto ptr2 = handle2.dptr;
storage.Free(handle);
storage.Free(handle2);

handle.size = 4095;
storage.Alloc(&handle);
EXPECT_EQ(handle.size, 4095);
EXPECT_EQ(handle.dptr, ptr);
storage.Free(handle);

handle2.size = 3145728;
storage.Alloc(&handle2);
EXPECT_EQ(handle2.size, 3145728);
EXPECT_EQ(handle2.dptr, ptr2);
storage.Free(handle2);
}
}
#endif // MXNET_USE_CUDA

0 comments on commit d0d8bf7

Please sign in to comment.