                     new_frontier_elements[0] = double(num_gpus>1?graph_slice->in_counter[peer]:graph_slice->nodes) * queue_sizing_ +2;
                     new_frontier_elements[1] = double(graph_slice->edges) * queue_sizing_ +2;
                     break;
-            }    
+            }
 
             // if froniter_queue is not big enough
             if (frontier_queues[peer].keys[i].GetSize() < new_frontier_elements[i]) {

        if (retval = keys_markers          .Move(util::HOST, util::DEVICE)) return retval;
        if (retval = vertex_associate_outss.Move(util::HOST, util::DEVICE)) return retval;
        if (retval = value__associate_outss.Move(util::HOST, util::DEVICE)) return retval;
       
        // Allocate make_out_array and expand_incoming array
        if (retval = make_out_array.Allocate(
            sizeof(SizeT*   ) * num_gpus + 
            sizeof(VertexId*) * num_gpus + 
            sizeof(VertexId*) * num_vertex_associate + 
            sizeof(Value*   ) * num_value__associate + 
            sizeof(VertexId*) * num_vertex_associate * num_gpus + 
            sizeof(Value*   ) * num_value__associate * num_gpus +
            sizeof(SizeT    ) * num_gpus, 
            util::HOST | util::DEVICE)) return retval;
        expand_incoming_array = new util::Array1D<SizeT, char>[num_gpus];
        for (int i=0;i<num_gpus;i++)
        {
            expand_incoming_array[i].SetName("expand_incoming_array[]");
            if (retval = expand_incoming_array[i].Allocate(
                sizeof(Value*   ) * num_value__associate * 2 + 
                sizeof(VertexId*) * num_vertex_associate * 2, 
                util::HOST | util::DEVICE)) return retval;
        }

        return retval;
    } // end Init(..)

    /** 
     * @brief Performs reset work needed for DataSliceBase. Must be called prior to each search
     *
     * @param[in] frontier_type      The frontier type (i.e., edge/vertex/mixed)

        this->nodes                = graph->nodes;
        this->num_vertex_associate = num_vertex_associate;
        this->num_value__associate = num_value__associate;

        // Set device by index
        if (retval = util::SetDevice(gpu_idx))  return retval;

        // Allocate frontiers and scanned_edges
        this->frontier_queues      = new util::DoubleBuffer<SizeT, VertexId, Value>[num_gpus+1];
        this->scanned_edges        = new util::Array1D<SizeT, SizeT>[num_gpus+1];
        for (int i=0; i<num_gpus+1; i++)
        {
