This project contains the coding of three solutions to perform a bfs search on a dag, namely, a sequential version and two parallel versions: the former uses standard cpp thread, while the latter uses FastFlow.
├── ./build
│ └── contains the compiled files
├── ./include
│ ├── all the headers files (.h)
├── ./src
│ └── all the sources files (.cpp)
├── ./scripts
│ └── utility script for generating random dag (.py)
├── Makefile
The project build requires c++17 and FastFlow and uses Makefile:
> make
positional arguments:
inputFile
: string, the path to the graphstartingNodeId
: integer, the id of the from which the bfs will startlabelTarget
: integer, label whose occurrences are to be countednw
: integer, the number of workers to usek
: integer, chunk size
> ./build/bfs-sequential inputFile startingNodeId labelTarget
> ./build/bfs-pthread inputFile startingNodeId labelTarget nw k
> ./build/bfs-fastflow inputFile startingNodeId labelTarget nw k