摘要
在稀疏计算领域应用模型的开发过程中,低层次的编程接口需要用户对底层硬件和算法模型同时具有全面、深入的了解。这种要求造成了稀疏计算领域的高门槛特性,不利于非专业人员的开发工作。为了降低稀疏计算领域的学习门槛,简化稀疏计算编程,提高编程的效率,本文提出了一种基于领域特定语言的解决方案,命名为Sparse Computing Programming Solutions: SCPS。SCPS设计和实现了专门的语法规则体系Sparse Computation by Domain Language: SCDL,并配备了相应的语法检查器。其次,SCPS会根据用户对数据和任务的划分进行代码优化,通过代码自动生成器将用户编写的应用模型转换为相关硬件的计算代码。为了提供良好的跨平台特性,代码生成器最终将生成相应模型的OpenCL代码。大规模的实验结果表明,使用SCDL语言构建的代码量仅为对应OpenCL代码的十五分之一,有效地提高了稀疏计算编程的效率。同时,实验证明了与串行代码相比,自动生成的代码能够达到优化的效果。
- 单位