           graph_slice->edges);
 
         util::MemsetCopyVectorKernel<<<128, 128>>>(
-          //problem->data_slices[0]->d_temp_value,
-            problem->data_slices[0]->d_super_edges,  // used as temp_index
+          problem->data_slices[0]->d_super_edges,  // used as temp_index
           problem->data_slices[0]->d_keys_array,
           graph_slice->edges);
 


        util::CUBRadixSort<VertexId, VertexId>(
          true, graph_slice->edges,
          //problem->data_slices[0]->d_temp_value,
          problem->data_slices[0]->d_super_edges,  // used as temp_index
          problem->data_slices[0]->d_origin_edges);



        ////////////////////////////////////////////////////////////////////////
        // create a flag to mark the boundaries of representative vertices
        util::MarkSegmentFromKeys<bool><<<128, 128>>>(
          problem->data_slices[0]->d_flags_array,
          problem->data_slices[0]->d_supervtx_ids,
          graph_slice->nodes);
