Symbolic Loop Compilation for Tightly Coupled Processor Arrays

01/12/2021
by   Michael Witterauf, et al.
0

Loop compilation for Tightly Coupled Processor Arrays (TCPAs), a class of massively parallel loop accelerators, entails solving NP-hard problems, yet depends on the loop bounds and number of available processing elements (PEs), parameters known only at runtime because of dynamic resource management and input sizes. Therefore, this article proposes a two-phase approach called symbolic loop compilation: At compile time, the necessary NP-complete problems are solved and the solutions compiled into a space-efficient symbolic configuration. At runtime, a concrete configuration is generated from the symbolic configuration according to the parameters values. We show that the latter phase, called instantiation, runs in polynomial time with its most complex step, program instantiation, not depending on the number of PEs. As validation, we performed symbolic loop compilation on real-world loops and measured time and space requirements. Our experiments confirm that a symbolic configuration is space-efficient and suited for systems with little memory – often, a symbolic configuration is smaller than a single concrete configuration – and that program instantiation scales well with the number of PEs – for example, when instantiating a symbolic configuration of a matrix-matrix multiplication, the execution time is similar for 4× 4 and 32× 32 PEs.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/18/2023

Proof-Producing Symbolic Execution for Binary Code Verification

We propose a proof-producing symbolic execution for verification of mach...
research
09/13/2018

Bounded Symbolic Execution for Runtime Error Detection of Erlang Programs

Dynamically typed languages, like Erlang, allow developers to quickly wr...
research
11/13/2019

Improving the Space-Time Efficiency of Processor-Oblivious Matrix Multiplication Algorithms

Classic cache-oblivious parallel matrix multiplication algorithms achiev...
research
10/05/2020

Automated Reasoning and Detection of Specious Configuration in Large Systems with Symbolic Execution

Misconfiguration is a major cause of system failures. Prior solutions fo...
research
09/27/2017

Symbolic Computation of the Worst-Case Execution Time of a Program

Parametric Worst-case execution time (WCET) analysis of a sequential pro...
research
06/26/2023

Verification of Neural Network Control Systems using Symbolic Zonotopes and Polynotopes

Verification and safety assessment of neural network controlled systems ...
research
07/28/2019

A note on Dodgson's determinant condensation algorithm

Recently, the Dodgson's determinant condensation algorithm was revisited...

Please sign up or login with your details

Forgot password? Click here to reset