CHiPReP—A Compiler for the HiPReP High-Performance Reconfigurable Processor

This article presents CHiPReP, a C compiler for the HiPReP processor, which is a high-performance Coarse-Grained Reconfigurable Array employing Floating-Point Units. CHiPReP is an extension of the LLVM and CCF compiler frameworks. Its main contributions are (i) a Splitting Algorithm for Data Depende...

Full description

Bibliographic Details
Main Authors: Markus Weinhardt, Mohamed Messelka, Philipp Käsgen
Format: Article
Language:English
Published: MDPI AG 2021-10-01
Series:Electronics
Subjects:
Online Access:https://www.mdpi.com/2079-9292/10/21/2590
_version_ 1797512637716627456
author Markus Weinhardt
Mohamed Messelka
Philipp Käsgen
author_facet Markus Weinhardt
Mohamed Messelka
Philipp Käsgen
author_sort Markus Weinhardt
collection DOAJ
description This article presents CHiPReP, a C compiler for the HiPReP processor, which is a high-performance Coarse-Grained Reconfigurable Array employing Floating-Point Units. CHiPReP is an extension of the LLVM and CCF compiler frameworks. Its main contributions are (i) a Splitting Algorithm for Data Dependence Graphs, which distributes the computations of a C loop to Address-Generator Units and Processing Elements; (ii) a novel instruction clustering and scheduling heuristic; and (iii) an integrated placement, pipeline balancing and routing optimization method based on Simulated Annealing. The compiler was verified and analyzed using a cycle-accurate HiPReP simulation model.
first_indexed 2024-03-10T06:04:34Z
format Article
id doaj.art-61ae3ee5c88f4c589b71b33eac908dee
institution Directory Open Access Journal
issn 2079-9292
language English
last_indexed 2024-03-10T06:04:34Z
publishDate 2021-10-01
publisher MDPI AG
record_format Article
series Electronics
spelling doaj.art-61ae3ee5c88f4c589b71b33eac908dee2023-11-22T20:37:56ZengMDPI AGElectronics2079-92922021-10-011021259010.3390/electronics10212590CHiPReP—A Compiler for the HiPReP High-Performance Reconfigurable ProcessorMarkus Weinhardt0Mohamed Messelka1Philipp Käsgen2Faculty of Engineering and Computer Science, Osnabrück University of Applied Sciences, 49076 Osnabrück, GermanyFaculty of Engineering and Computer Science, Osnabrück University of Applied Sciences, 49076 Osnabrück, GermanyFaculty of Engineering and Computer Science, Osnabrück University of Applied Sciences, 49076 Osnabrück, GermanyThis article presents CHiPReP, a C compiler for the HiPReP processor, which is a high-performance Coarse-Grained Reconfigurable Array employing Floating-Point Units. CHiPReP is an extension of the LLVM and CCF compiler frameworks. Its main contributions are (i) a Splitting Algorithm for Data Dependence Graphs, which distributes the computations of a C loop to Address-Generator Units and Processing Elements; (ii) a novel instruction clustering and scheduling heuristic; and (iii) an integrated placement, pipeline balancing and routing optimization method based on Simulated Annealing. The compiler was verified and analyzed using a cycle-accurate HiPReP simulation model.https://www.mdpi.com/2079-9292/10/21/2590coarse-grained reconfigurable arrayhigh-performance computingC compilerLLVMgraph clusteringscheduling
spellingShingle Markus Weinhardt
Mohamed Messelka
Philipp Käsgen
CHiPReP—A Compiler for the HiPReP High-Performance Reconfigurable Processor
Electronics
coarse-grained reconfigurable array
high-performance computing
C compiler
LLVM
graph clustering
scheduling
title CHiPReP—A Compiler for the HiPReP High-Performance Reconfigurable Processor
title_full CHiPReP—A Compiler for the HiPReP High-Performance Reconfigurable Processor
title_fullStr CHiPReP—A Compiler for the HiPReP High-Performance Reconfigurable Processor
title_full_unstemmed CHiPReP—A Compiler for the HiPReP High-Performance Reconfigurable Processor
title_short CHiPReP—A Compiler for the HiPReP High-Performance Reconfigurable Processor
title_sort chiprep a compiler for the hiprep high performance reconfigurable processor
topic coarse-grained reconfigurable array
high-performance computing
C compiler
LLVM
graph clustering
scheduling
url https://www.mdpi.com/2079-9292/10/21/2590
work_keys_str_mv AT markusweinhardt chiprepacompilerforthehiprephighperformancereconfigurableprocessor
AT mohamedmesselka chiprepacompilerforthehiprephighperformancereconfigurableprocessor
AT philippkasgen chiprepacompilerforthehiprephighperformancereconfigurableprocessor