 // Globals, constants and typedefs
 //---------------------------------------------------------------------
 
-bool                    g_verbose           = false;
-int                     g_timing_iterations = 0;
+bool                    g_verbose                       = false;
+int                     g_timing_iterations             = 0;
+std::size_t             g_smallest_pre_sorted_num_items = (std::size_t(1) << 32) - 42;
 CachingDeviceAllocator  g_allocator(true);
 
 // Dispatch types

               int max_segments,
               bool pre_sorted)
{
    for (std::size_t num_items = max_items;
         num_items > 1;
         num_items = cub::DivideAndRoundUp(num_items, 64))
    {
        TestNumItems(h_keys, num_items, max_segments, pre_sorted);
    }
}


        fflush(stdout);
        InitializeKeysSorted(h_keys.get(), large_num_items);
        fflush(stdout);
        TestSizes(h_keys.get(), large_num_items, max_segments, true);
        fflush(stdout);
    }

