Difference between revisions of "Publications:An Evaluation of Code Generation of Dataflow Languages on Manycore Architectures"

From CERES
Jump to: navigation, search
(Created page with "<div style='display: none'> == Do not edit this section == </div> {{PublicationSetupTemplate|Author=Süleyman Savas, Essayas Gebrewahid, Zain Ul-Abdin, Tomas Nordström, Mingk...")
 
(No difference)

Latest revision as of 07:14, 9 September 2014

Do not edit this section

Keep all hand-made modifications below

Title An Evaluation of Code Generation of Dataflow Languages on Manycore Architectures
Author Süleyman Savas and Essayas Gebrewahid and Zain Ul-Abdin and Tomas Nordström and Mingkun Yang
Year 2014
PublicationType Conference Paper
Journal
HostPublication
DOI
Conference The 20th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications
Diva url http://hh.diva-portal.org/smash/record.jsf?searchId=1&pid=diva2:725348
Abstract Today computer architectures are shifting from single core to manycores due to several reasons such as performance demands, power and heat limitations. However, shifting to manycores results in additional complexities, especially with regard to efficient development of applications. Hence there is a need to raise the abstraction level of development techniques for the manycores while exposing the inherent parallelism in the applications. One promising class of programming languages is dataflow languages and in this paper we evaluate and optimize the code generation for one such language, CAL. We have also developed a communication library to support the inter-core communication.The code generation can target multiple architectures, but the results presented in this paper is focused on Adapteva's many core architecture Epiphany.We use the two-dimensional inverse discrete cosine transform (2D-IDCT) as our benchmark and compare our code generation from CAL with a hand-written implementation developed in C. Several optimizations in the code generation as well as in the communication library are described, and we have observed that the most critical optimization is reducing the number of external memory accesses. Combining all optimizations we have been able to reduce the difference in execution time between auto-generated and hand-written implementations from a factor of 4.3x down to a factor of only 1.3x.