Towards Comparing Performance of Algorithms in Hardware and Software

04/07/2022
by   Maja H. Kirkeby, et al.
0

In this paper, we report on a preliminary investigation of the potential performance gain of programs implemented in field-programmable gate arrays (FPGAs) using a high-level language Chisel compared to ordinary high-level software implementations executed on general-purpose computers and small and cheap computers. FPGAs inherently support parallel evaluations, while sequential computers do not. For this preliminary investigation, we have chosen a highly parallelizable program as a case study to show an upper bound of performance gain. The purpose is to demonstrate whether or not programming FPGAs has the potential for performance optimizations of ordinary programs. We have developed and evaluated Conway's Game of Life for an FPGA, a small and cheap computer Raspberry Pi 4, and a MacBook Pro Laptop. We have compared the performance of programs over different input sizes to decide the relative increase in runtime.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/20/2017

A software framework for pipelined arithmetic algorithms in field programmable gate arrays

Pipelined algorithms implemented in field programmable gate arrays are b...
research
11/09/2021

Programming for All: Understanding the Nature of Programs

Computer programs are part of our daily life, we use them, we provide th...
research
10/30/2020

Transparent Compiler and Runtime Specializations for Accelerating Managed Languages on FPGAs

In recent years, heterogeneous computing has emerged as the vital way to...
research
04/18/2019

Investigating the Dirac operator evaluation with FPGAs

In recent years the computational capacity of single Field Programmable ...
research
01/30/2023

Looped Transformers as Programmable Computers

We present a framework for using transformer networks as universal compu...
research
08/23/2018

Exploring Parallel Execution Strategies for Constraint Handling Rules - Work-in-Progress Report

Constraint Handling Rules (CHR) is a declarative rule-based formalism an...
research
09/23/2020

Extending High-Level Synthesis for Task-Parallel Programs

C/C++/OpenCL-based high-level synthesis (HLS) becomes more and more popu...

Please sign up or login with your details

Forgot password? Click here to reset