Compile-time Techniques for Processor Allocation in Macro Dataflow Graphs for Multiprocessors

When compiling a progam consisting of multiple nested loops for execution on a multiprocessor, processor allocation is the problem of determining the number of processors over which to partition each nested loop. This paper presents processor allocation techniques for compiling such programs for mul...

Full description

Bibliographic Details
Main Authors: Prasanna, G.N. Srinivasa, Agarwal, Anant
Published: 2023
Online Access:https://hdl.handle.net/1721.1/149194
_version_ 1826206590794989568
author Prasanna, G.N. Srinivasa
Agarwal, Anant
author_facet Prasanna, G.N. Srinivasa
Agarwal, Anant
author_sort Prasanna, G.N. Srinivasa
collection MIT
description When compiling a progam consisting of multiple nested loops for execution on a multiprocessor, processor allocation is the problem of determining the number of processors over which to partition each nested loop. This paper presents processor allocation techniques for compiling such programs for multiprocessors with local memory. Programs consisting of multiple loops, where the precedence constraints between the loops is known, can be viewed as macro dataflow graphs. Macro dataflow graphs comprise several macro nodes (or macro operations) that must be executed subject to prespecified precedence constraints. Optimal processor allocation specifies the number of processors computing each macro node and their sequencing to optimize run time. This paper presents computing each macro node and their sequencing to optimize run time. This paper presents computationally efficient techniques for determining the optimal processor allocation using estimated speedup functions of the macro nodes. These ideas have been implemented in a structure-driven compiler, SDC, for expressions of matrix operations. The paper presents the performance of the compiler for several matrix expressions on a simulator of the Alewife multiprocessor.
first_indexed 2024-09-23T13:35:00Z
id mit-1721.1/149194
institution Massachusetts Institute of Technology
last_indexed 2024-09-23T13:35:00Z
publishDate 2023
record_format dspace
spelling mit-1721.1/1491942023-03-30T03:37:22Z Compile-time Techniques for Processor Allocation in Macro Dataflow Graphs for Multiprocessors Prasanna, G.N. Srinivasa Agarwal, Anant When compiling a progam consisting of multiple nested loops for execution on a multiprocessor, processor allocation is the problem of determining the number of processors over which to partition each nested loop. This paper presents processor allocation techniques for compiling such programs for multiprocessors with local memory. Programs consisting of multiple loops, where the precedence constraints between the loops is known, can be viewed as macro dataflow graphs. Macro dataflow graphs comprise several macro nodes (or macro operations) that must be executed subject to prespecified precedence constraints. Optimal processor allocation specifies the number of processors computing each macro node and their sequencing to optimize run time. This paper presents computing each macro node and their sequencing to optimize run time. This paper presents computationally efficient techniques for determining the optimal processor allocation using estimated speedup functions of the macro nodes. These ideas have been implemented in a structure-driven compiler, SDC, for expressions of matrix operations. The paper presents the performance of the compiler for several matrix expressions on a simulator of the Alewife multiprocessor. 2023-03-29T14:36:09Z 2023-03-29T14:36:09Z 1992-06 https://hdl.handle.net/1721.1/149194 MIT-LCS-TM-469 application/pdf
spellingShingle Prasanna, G.N. Srinivasa
Agarwal, Anant
Compile-time Techniques for Processor Allocation in Macro Dataflow Graphs for Multiprocessors
title Compile-time Techniques for Processor Allocation in Macro Dataflow Graphs for Multiprocessors
title_full Compile-time Techniques for Processor Allocation in Macro Dataflow Graphs for Multiprocessors
title_fullStr Compile-time Techniques for Processor Allocation in Macro Dataflow Graphs for Multiprocessors
title_full_unstemmed Compile-time Techniques for Processor Allocation in Macro Dataflow Graphs for Multiprocessors
title_short Compile-time Techniques for Processor Allocation in Macro Dataflow Graphs for Multiprocessors
title_sort compile time techniques for processor allocation in macro dataflow graphs for multiprocessors
url https://hdl.handle.net/1721.1/149194
work_keys_str_mv AT prasannagnsrinivasa compiletimetechniquesforprocessorallocationinmacrodataflowgraphsformultiprocessors
AT agarwalanant compiletimetechniquesforprocessorallocationinmacrodataflowgraphsformultiprocessors