 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
+const size_t epic_threshold    = 1 << 26;  //  64M
+const size_t max_threshold     = std::numeric_limits<size_t>::max();
 
 std::vector<size_t> test_sizes;
 std::vector<size_t> get_test_sizes(void)


        
        error = cudaGetLastError();
        if(error)
        {
            if (!concise)
            {

        } 
        catch (unittest::UnitTestFailure& f)
        {
            record_result(TestResult(Failure, test, f.message), test_results);
        }
        catch (unittest::UnitTestKnownFailure& f)
        {
            record_result(TestResult(KnownFailure, test, f.message), test_results);
        }
        catch (std::bad_alloc& e)
        {
            record_result(TestResult(Error, test, e.what()), test_results);
        }
        catch (unittest::UnitTestError& e)
        {
            record_result(TestResult(Error, test, e.message), test_results);
        }

        // immediate report
        if (!concise)
