 
         
         error = cudaGetLastError();
-        if(error)
+        if(error && error != cudaErrorMemoryAllocation)
         {
             if (!concise)
             {

const size_t default_threshold = 1 << 16;  //  64K
const size_t large_threshold   = 1 << 20;  //   1M
const size_t huge_threshold    = 1 << 24;  //  16M
const size_t epic_threshold    = 1 << 27;  // 128M

std::vector<size_t> test_sizes;
std::vector<size_t> get_test_sizes(void)

        : status(status), name(u.name)
    { }

    TestResult(const TestStatus status, const UnitTest& u, const std::string& message)
        : status(status), name(u.name), message(message)
    { }

    bool operator<(const TestResult& tr) const
