Show simple item record

dc.contributor.advisorNandy, S K
dc.contributor.authorAlle, Mythri
dc.date.accessioned2015-07-24T07:23:46Z
dc.date.accessioned2018-07-31T05:09:08Z
dc.date.available2015-07-24T07:23:46Z
dc.date.available2018-07-31T05:09:08Z
dc.date.issued2015-07-24
dc.date.submitted2012-12
dc.identifier.urihttp://etd.iisc.ac.in/handle/2005/2453
dc.identifier.abstracthttp://etd.iisc.ac.in/static/etd/abstracts/3167/G25487-Abs.pdfen_US
dc.description.abstractCoarse-Grained Reconfigurable Architectures(CGRAs) can be employed for accelerating computational workloads that demand both flexibility and performance. CGRAs comprise a set of computation elements interconnected using a network and this interconnection of computation elements is referred to as a reconfigurable fabric. The size of application that can be accommodated on the reconfigurable fabric is limited by the size of instruction buffers associated with each Compute element. When an application cannot be accommodated entirely, application is partitioned such that each of these partitions can be executed on the reconfigurable fabric. These partitions are scheduled by an orchestrator. The orchestrator employs dynamic dataflow execution paradigm. Dynamic dataflow execution paradigm has inherent support for synchronization and helps in exploitation of parallelism that exists across application partitions. In this thesis, we present a compiler that targets such CGRAs. The compiler presented in this thesis is capable of accepting applications specified in C89 standard. To enable architectural design space exploration, the compiler is designed such that it can be customized for several instances of CGRAs employing dataflow execution paradigm at the orchestrator. This can be achieved by specifying the appropriate configuration parameters to the compiler. The focus of this thesis is to provide efficient support for various kinds of parallelism while ensuring correctness. The compiler is designed to support fine-grained task level parallelism that exists across iterations of loops and function calls. Additionally, compiler can also support pipeline parallelism, where a loop is split into multiple stages that execute in a pipelined manner. The prototype compiler, which targets multiple instances of a CGRA, is demonstrated in this thesis. We used this compiler to target multiple variants of CGRAs employing dataflow execution paradigm. We varied the reconfigur-able fabric, orchestration mechanism employed, size of instruction buffers. We also choose applications from two different domains viz. cryptography and linear algebra. The execution time of the CGRA (the best among all instances) is compared against an Intel Quad core processor. Cryptography applications show a performance improvement ranging from more than one order of magnitude to close to two orders of magnitude. These applications have large amounts of ILP and our compiler could successfully expose the ILP available in these applications. Further, the domain customization also played an important role in achieving good performance. We employed two custom functional units for accelerating Cryptography applications and compiler could efficiently use them. In linear algebra kernels we observe multiple iterations of the loop executing in parallel, effectively exploiting loop-level parallelism at runtime. Inspite of this we notice close to an order of magnitude performance degradation. The reason for this degradation can be attributed to the use of non-pipelined floating point units, and the delays involved in accessing memory. Pipeline parallelism was demonstrated using this compiler for FFT and QR factorization. Thus, the compiler is capable of efficiently supporting different kinds of parallelism and can support complete C89 standard. Further, the compiler can also support different instances of CGRAs employing dataflow execution paradigm.en_US
dc.language.isoen_USen_US
dc.relation.ispartofseriesG25487en_US
dc.subjectCoarse-Grained Reconfigurable Architecture (CGRA)en_US
dc.subjectReconfigurable Fabricen_US
dc.subjectDataflow Executionen_US
dc.subjectCompilers (Computer Programs)en_US
dc.subjectComputer Architectureen_US
dc.subjectReconfigurable Architecturesen_US
dc.subjectCoarse-Grained Reconfigurable Architectures (CGRAs)en_US
dc.subjectRun Time Reconfigurable Platformen_US
dc.subjectRuntime Reconfigurable Platformen_US
dc.subjectRuntime Reconfigurable Hardwareen_US
dc.subjectCoarse Grained Computationen_US
dc.subject.classificationComputer Scienceen_US
dc.titleCompiling For Coarse-Grained Reconfigurable Architectures Based On Dataflow Execution Paradigmen_US
dc.typeThesisen_US
dc.degree.namePhDen_US
dc.degree.levelDoctoralen_US
dc.degree.disciplineFaculty of Engineeringen_US


Files in this item

This item appears in the following Collection(s)

Show simple item record