A Case Study: Exploiting Neural Machine Translation to Translate CUDA to OpenCL
Yonghae Kim, Hyesoon Kim

TL;DR
This paper demonstrates how a seq2seq neural machine translation model can be used to translate CUDA programs into OpenCL, involving specific data preparation and processing steps, validated through a case study on benchmark suites.
Contribution
It introduces a detailed methodology for applying seq2seq models to translate CUDA to OpenCL, including input set generation and processing techniques.
Findings
Successful translation of CUDA to OpenCL in case studies
Effective training input generation method
Potential for automated code translation between GPU programming languages
Abstract
The sequence-to-sequence (seq2seq) model for neural machine translation has significantly improved the accuracy of language translation. There have been new efforts to use this seq2seq model for program language translation or program comparisons. In this work, we present the detailed steps of using a seq2seq model to translate CUDA programs to OpenCL programs, which both have very similar programming styles. Our work shows (i) a training input set generation method, (ii) pre/post processing, and (iii) a case study using Polybench-gpu-1.0, NVIDIA SDK, and Rodinia benchmarks.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsNatural Language Processing Techniques · Topic Modeling · Software Engineering Research
MethodsSigmoid Activation · Tanh Activation · Long Short-Term Memory · Sequence to Sequence
