The repository includes the implementation of Itemrank algorithm, defined in this paper.
The project was implemented as part of the High Level Synthesis course in the 9th semester of ECE Democritus University of Thrace supervised by George Dimitrakopoulos.
The code was optimized in order to achieve the best hardware performance possible.
This implementation is optimized taking advantage of :
- the heap data structure
- 128-bit sparse representation
- loop tilling
- further catapult optimizations (unroll, pipeline)
To get started make sure you have installed all the prerequisites in your computer.
To compile this implementation of Itemrank you will need the libraries included in the libraries' folder and a C++ compiler.
Contribute following the above steps:
- Fork the Project
- Create your Feature Branch (
git checkout -b new_branch_name) - Commit your Changes (
git commit -m 'Add some extra functionality') - Push to the Branch (
git push origin new_branch_name) - Open a Pull Request