 			numBlocks2 = MGPU_DIV_UP(numBlocks2, 2);
 		}
 		if(verbose) info.Pass(support, pass);
-		
+				
 		KernelSegSortMerge<Tuning, Segments, HasValues>
 			<<<numCTAs, launch.x, 0, context.Stream()>>>(keysSource_global,
 			valsSource_global, support, count, pass, keysDest_global, 

	
	int numBlocks = MGPU_DIV_UP(count, NV);
	int numPasses = FindLog2(numBlocks, true);
		
	SegSortSupport support;
	MGPU_MEM(byte) mem = AllocSegSortBuffers(count, NV, support, true, context);



template<typename KeyType, typename ValType, typename Comp>
MGPU_HOST void SegSortPairsFromFlags(KeyType* keys_global,
	ValType* values_global, int count, const uint* flags_global,
	CudaContext& context, Comp comp, bool verbose) {

	const bool Stable = true;
