Implementation - 2023.2 English

Vitis Libraries

Release Date
2023-12-20
Version
2023.2 English

The algorithm implemention is shown in the figure below:

SingleSourceShortestPath design

There are 5 functional blocks as shown in the figure:

  1. QueCtrl is responsible to load the next vertex in the queue and pass it to the loadOffset.
  2. loadOffset load the offset value associate with current vertex from the CSR offset values and pass it to the next block.
  3. loadCol&Wei load the ID and weight of the next hop vertices accroding to the offset values. And pass these IDs and weights to the loadRes.
  4. loadRes load the distance of the next hop vertices already in the result and calculate the new distance and decide whether the distance of every next hop vertex should be updated.
  5. WriteRes update all the distances to the new value and push all the updated vertices into the queue.

This system starts from pushing the source vertex into the queue and iterate until the queue is empty.