__global__ void
bfs( const Edge * edges,
Vertex * vertices,
int current_depth )
{
int e = blockDim.x * blockIdx.x + threadIdx.x;
int vfirst = edges[e].first;
int dfirst = vertices[vfirst];
int vsecond = edges[e].second;
int dsecond = vertices[vsecond];
if ((dfirst == curent_depth) && (dsecond == -1)){
vertices[vsecond] = dfirst + 1;
}
if (
)
}