     typename            OutputT,
     typename            ScanOpT,
     typename            InitialValueT,
-    bool                inplace=false>
+    bool                InPlace=false>
 void Test(
     DeviceInputIteratorT    d_in,
     OutputT                 *h_reference,

    }
}

template<typename OutputT, typename DeviceInputIteratorT, bool inplace>
struct AllocateOutput {
    static void run(OutputT *&d_out, DeviceInputIteratorT, int num_items) {
        CubDebugExit(g_allocator.DeviceAllocate((void**)&d_out, sizeof(OutputT) * num_items));


    // Allocate device output array
    OutputT *d_out = NULL;
    AllocateOutput<OutputT, DeviceInputIteratorT, InPlace>::run(d_out, d_in, num_items);

    // Allocate CDP device arrays
    size_t          *d_temp_storage_bytes = NULL;
