Figure above shows the framework we used in this project. Our work for this project is marked in red which are conventional graph apps and their corresponding HLS kernel. Illustrated in figure.4, the input of the framework is the graph dataset stored in various text formats. We use NetworkX, which is a python package, to transfer the graph data into CSR variant format and use our conventional graph apps written in python to produce correct results for the corresponding algorithm. All the graph information and correct results will be stored in data.c to check our result from HLS kernels. The HLS kernels are graph algorithms consistent with the Gather-Apply-Scatter (GAS) programming model, while the main.c is to control the input of the benchmark suite and check if the result of the HLS kernels is correct based on the correct results from conventional graph apps. In the end, HLS kernels will be synthesized to HDLs and run on the FPGA-based platforms for the measurement of different metrics.