{"title":"高效MATLAB到OpenCL代码生成的编译器技术","authors":"Luís Reis, João Bispo, João MP Cardoso","doi":"10.1145/3078155.3078186","DOIUrl":null,"url":null,"abstract":"MATLAB is a high-level language used in various scientific and engineering fields. Deployment of well-tested MATLAB code to production would be highly desirable, but in practice a number of obstacles prevent this, notably performance and portability. Although MATLAB-to-C compilers exist, the performance of the generated C code may not be sufficient and thus it is important to research alternatives, such as CPU parallelism, GPGPU computing and FPGAs. OpenCL is an API and programming language that allows targeting these devices, hence the motivation for MATLAB-to-OpenCL compilation. In this paper, we describe our recent efforts on offloading code to OpenCL devices in the context of our MATLAB to C/OpenCL compiler.","PeriodicalId":267581,"journal":{"name":"Proceedings of the 5th International Workshop on OpenCL","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Compiler Techniques for Efficient MATLAB to OpenCL Code Generation\",\"authors\":\"Luís Reis, João Bispo, João MP Cardoso\",\"doi\":\"10.1145/3078155.3078186\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"MATLAB is a high-level language used in various scientific and engineering fields. Deployment of well-tested MATLAB code to production would be highly desirable, but in practice a number of obstacles prevent this, notably performance and portability. Although MATLAB-to-C compilers exist, the performance of the generated C code may not be sufficient and thus it is important to research alternatives, such as CPU parallelism, GPGPU computing and FPGAs. OpenCL is an API and programming language that allows targeting these devices, hence the motivation for MATLAB-to-OpenCL compilation. In this paper, we describe our recent efforts on offloading code to OpenCL devices in the context of our MATLAB to C/OpenCL compiler.\",\"PeriodicalId\":267581,\"journal\":{\"name\":\"Proceedings of the 5th International Workshop on OpenCL\",\"volume\":\"1 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2017-05-16\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the 5th International Workshop on OpenCL\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/3078155.3078186\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 5th International Workshop on OpenCL","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3078155.3078186","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
摘要
MATLAB是一种用于各种科学和工程领域的高级语言。将经过良好测试的MATLAB代码部署到生产环境中是非常可取的,但是在实践中,许多障碍阻碍了这一点,特别是性能和可移植性。虽然存在MATLAB-to-C编译器,但生成的C代码的性能可能不够,因此研究替代方案很重要,例如CPU并行性,GPGPU计算和fpga。OpenCL是一种API和编程语言,允许针对这些设备,因此matlab到OpenCL编译的动机。在本文中,我们描述了我们最近在MATLAB to C/OpenCL编译器的背景下将代码卸载到OpenCL设备上的努力。
Compiler Techniques for Efficient MATLAB to OpenCL Code Generation
MATLAB is a high-level language used in various scientific and engineering fields. Deployment of well-tested MATLAB code to production would be highly desirable, but in practice a number of obstacles prevent this, notably performance and portability. Although MATLAB-to-C compilers exist, the performance of the generated C code may not be sufficient and thus it is important to research alternatives, such as CPU parallelism, GPGPU computing and FPGAs. OpenCL is an API and programming language that allows targeting these devices, hence the motivation for MATLAB-to-OpenCL compilation. In this paper, we describe our recent efforts on offloading code to OpenCL devices in the context of our MATLAB to C/OpenCL compiler.