Hırlak, Kenan Çağrı2021-01-202021-01-202020-122020-122021-01-18http://hdl.handle.net/11693/54898Cataloged from PDF version of article.Thesis (M.S.): Bilkent University, Department of Computer Engineering, İhsan Doğramacı Bilkent University, 2020.Includes bibliographical references (leaves 51-55).The emergence of CPU-FPGA hybrid architectures creates a demand for high abstraction programming tools such as High-Level Synthesis (HLS). HLS handles most of the FPGA development tasks automatically, thus freeing up programmers to create applications effortlessly on FPGAs with familiar programming languages. However, HLS often trades speed for convenience, which makes it a poor choice when it comes to applications in which computational performance is a crucial requirement, such as graph algorithms. In the scope of iterative graph algorithms, we developed custom HLS-based optimizations. Specifically, we applied these on PageRank (PR), Breadth-First Search (BFS), and Connected Components (CC) algorithms so that they can be synthesized in a performant way by HLS tools. We observed that well-pipelined OpenCL kernels can provide up to three times speedups on the Intel Xeon-FPGA architecture compared to CPU implementations. We optimized the traversal of vertices for pipelining to execute applications faster. Furthermore, our approach relies on the HLS workflow to make it effortless for the programmer.xiv, 60 leaves : charts (some color) ; 30 cm.Englishinfo:eu-repo/semantics/openAccessGraph algorithmsHigh Level Synthesis (HLS)Field Programmable Gate Array (FPGA)PageRank (PR)Breadth First Search (BFS)Connected Components (CC)OpenCL-based efficient HLS implementation of iterative graph algorithms on FPGAYinelemeli çizge algoritmalarının FPGA üzerinde OpenCL ile etkin HLS uygulamasıThesisB124665