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...
Main Authors: | , , |
---|---|
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 |