is the current architecture of graphic cards that creates difficulties with dynamic memory locations. It is more efficient to keep phantom edges separate from the regular edges. The task is to look for all phantom edges and decrease their time parameters. If a phantom edge gets its time parameter equal to $0$, its destination is studied to see whether it should be added to the sequence of triggered edges. We calculate the new label that the vertex would receive through this phantom. We check whether this new label is higher than the currently known label and the temporary label from possibly previous triggering of the vertex. The phantoms will not result in the concurrent writing to memory locations because each possible destination of a phantom could have only one edge that has time component equal to $0$.

Step 4: Triggering edges
------------------------

Triggered vertices are analyzed using separate processing elements. A processing element analyzes the vertex $Q$ in the following way.

Each edge $j$ of $Q$ will be consider triggered if it can cause the other endpoint to get better label in future through $Q$. The edge $j$ is placed in the end of the sequence of active edges.

Step 