Synthesis of Platform Architectures from OpenCL Programs
- 1 May 2011
- conference paper
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 186-193
- https://doi.org/10.1109/fccm.2011.19
Abstract
The problem of automatically generating hardware modules from a high level representation of an application has been at the research forefront in the last few years. In this paper, we use OpenCL, an industry supported standard for writing programs that execute on multicore platforms and accelerators such as GPUs. Our architectural synthesis tool, SOpenCL (Silicon-OpenCL), adapts OpenCL into a novel hardware design flow which efficiently maps coarse and fine-grained parallelism of an application onto an FPGA reconfigurable fabric. SOpenCL is based on a source-to-source code transformation step that coarsens the OpenCL fine-grained parallelism into a series of nested loops, and on a template-based hardware generation back-end that configures the accelerator based on the functionality and the application performance and area requirements. Our experimentation with a variety of OpenCL and C kernel benchmarks reveals that area, throughput and frequency optimized hardware implementations are attainable using SOpenCL.Keywords
This publication has 8 references indexed in Scilit:
- GLOpenCLPublished by Association for Computing Machinery (ACM) ,2011
- An OpenCL framework for heterogeneous multicores with local memoryPublished by Association for Computing Machinery (ACM) ,2010
- OpenRCL: Low-Power High-Performance Computing with Reconfigurable DevicesPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2010
- FCUDA: Enabling efficient compilation of CUDA kernels onto FPGAsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2009
- LLVM: A compilation framework for lifelong program analysis & transformationPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2004
- A MATLAB compiler for distributed, heterogeneous, reconfigurable computing systemsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- PICO: automatically designing custom computersComputer, 2002
- Swing module scheduling: a lifetime-sensitive approachPublished by Institute of Electrical and Electronics Engineers (IEEE) ,1996