 
         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);
 

        }

        // generate d_flags_array from d_row_offsets using MarkSegment kernel
        util::MarkSegmentFromIndices<<<128, 128>>>(
          problem->data_slices[0]->d_flags_array,
          graph_slice->d_row_offsets, graph_slice->nodes);


    typedef SuRmFunctor <VertexId, SizeT, VertexId, MSTProblem> SuRmFunctor;
    typedef EIdxFunctor <VertexId, SizeT, VertexId, MSTProblem> EIdxFunctor;
    typedef MarkFunctor <VertexId, SizeT, VertexId, MSTProblem> MarkFunctor;

    cudaError_t retval = cudaSuccess;
    unsigned int *d_scanned_edges = NULL;

    do
