A Composable Workflow for Productive FPGA Computing via Whole-Program Analysis and Transformation (with Code Excerpts)
dc.contributor.author | Sathre, Paul | en |
dc.contributor.author | Helal, Ahmed E. | en |
dc.contributor.author | Feng, Wu-chun | en |
dc.contributor.department | Computer Science | en |
dc.date.accessioned | 2018-07-25T15:14:25Z | en |
dc.date.available | 2018-07-25T15:14:25Z | en |
dc.date.issued | 2018-07-24 | en |
dc.description.abstract | We present a composable workflow to enable highly-productive heterogeneous computing on FPGAs. The workflow consists of a trio of static analysis and transformation tools: (1) a whole-program, source-to-source translator to transform existing parallel code to OpenCL, (2) a set of OpenCL kernel linters, which target FPGAs to detect possible semantic errors and performance traps, and (3) a whole-program OpenCL linter to validate the host-to-device interface of OpenCL programs. The workflow promotes rapid realization of heterogeneous parallel code across a multitude of heterogeneous computing environments, particularly FPGAs, by providing complementary tools for automatic CUDA-to-OpenCL translation and compile-time OpenCL validation in advance of very expensive compilation, placement, and routing on FPGAs. The proposed tools perform whole-program analysis and transformation to tackle realworld, large-scale parallel applications. The efficacy of the workflow tools is demonstrated via a representative translation and analysis of a sizable CUDA finite automata processing engine as well as the analysis and validation of an additional 96 OpenCL benchmarks. | en |
dc.identifier.trnumber | TR-18-05 | en |
dc.identifier.uri | http://hdl.handle.net/10919/84388 | en |
dc.language.iso | en | en |
dc.publisher | Department of Computer Science, Virginia Polytechnic Institute & State University | en |
dc.relation.ispartof | Computer Science Technical Reports | en |
dc.rights | In Copyright | en |
dc.rights.uri | http://rightsstatements.org/vocab/InC/1.0/ | en |
dc.subject | High Performance Computing | en |
dc.subject | Parallel and Distributed Computing | en |
dc.subject | Algorithms | en |
dc.subject | Computer Systems | en |
dc.title | A Composable Workflow for Productive FPGA Computing via Whole-Program Analysis and Transformation (with Code Excerpts) | en |
dc.type | Technical report | en |
dc.type.dcmitype | Text | en |