 		// Spine-scan kernel policy
 		//		Prefix sum of upsweep histograms counted by each CTA.  Relatively insignificant in the grand scheme, not really worth tuning for large problems)
 		//
-		1,							// SPINE_CTA_OCCUPANCY				The targeted SM occupancy to feed PTXAS in order to influence how it does register allocation
 		7,							// SPINE_LOG_THREADS				The number of threads (log) to launch per CTA.  Valid range: 5-10
 		2,							// SPINE_LOG_LOAD_VEC_SIZE			The vector-load size (log) for each load (log).  Valid range: 0-2
 		0,							// SPINE_LOG_LOADS_PER_TILE			The number of loads (log) per tile.  Valid range: 0-2


	// Create a scan enactor
	b40c::radix_sort::Enactor enactor;

	// Create ping-pong storage wrapper.
	b40c::util::PingPongStorage<KeyType, ValueType> sort_storage(d_keys, d_values);


	// Only use RADIX_BITS effective bits (remaining high order bits
	// are left zero): we only want to perform one sorting pass
	if (verbose) printf("Original: ");
	for (size_t i = 0; i < num_elements; ++i) {
//		b40c::util::RandomBits(h_keys[i], 0, Policy::RADIX_BITS);
		h_keys[i] = i & ((1 << Policy::RADIX_BITS) - 1);
		h_reference_keys[i] = h_keys[i];

		if (verbose) printf("%d, ", h_keys[i]);
	}
	if (verbose) printf("\n");

    // Compute reference solution
	std::sort(h_reference_keys, h_reference_keys + num_elements);
