__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 ( ) }