Compiling A High-Level Language For Gpus (Via Language Support For Architectures And Compilers)

ACM SIGPLAN Notices(2012)

引用 150|浏览127
暂无评分
摘要
Languages such as OpenCL and CUDA offer a standard interface for general-purpose programming of GPUs. However, with these languages, programmers must explicitly manage numerous low-level details involving communication and synchronization. This burden makes programming GPUs difficult and error-prone, rendering these powerful devices inaccessible to most programmers.We desire a higher-level programming model that makes GPUs more accessible while also effectively exploiting their computational power. This paper presents features of Lime, a new Java-compatible language targeting heterogeneous systems, that allow an optimizing compiler to generate high quality GPU code. The key insight is that the language type system enforces isolation and immutability invariants that allow the compiler to optimize for a GPU without heroic compiler analysis.Our compiler attains GPU speedups between 75% and 140% of the performance of native OpenCL code.
更多
查看译文
关键词
Design,Languages,Performance,GPU,OpenCL,Java,Lime,Streaming,Map,Reduce
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要