[发明专利]一种提高OpenCL硬件执行效率的方法有效
申请号: | 201610039665.2 | 申请日: | 2016-01-20 |
公开(公告)号: | CN105447285B | 公开(公告)日: | 2018-11-30 |
发明(设计)人: | 程爱莲;王文华 | 申请(专利权)人: | 杭州菲数科技有限公司 |
主分类号: | G06F17/50 | 分类号: | G06F17/50 |
代理公司: | 杭州知通专利代理事务所(普通合伙) 33221 | 代理人: | 姚宇吉 |
地址: | 310024 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种提高OpenCL硬件执行效率的方法,包括以下步骤:编译以OpenCL语言实现的kernel模块,调用高级综合工具生成verilog代码;分析自动生成的verilog代码的结构,记录接口的信号、时序和功能;对verilog代码进行手工修改和优化,并备份存档;修改流程控制的脚本,插入文件替换命令,用优化后的verilog代码替换编译器自动生成的verilog代码;重新运行OpenCL编译器,生成最终的FPGA配置文件,本发明保留了完整的OpenCL环境与流程,通过解析OpenCL编译环境的运行步骤和分析verilog代码的结构与接口,使手工修改和优化自动生成的verilog代码成为可能,从而提升kernel模块性能,包括提高工作时钟,实现更多的功能,充分利用FPGA的硬件资源,使OpenCL在FPGA平台上的执行效率得到大幅度提高。 | ||
搜索关键词: | 一种 提高 opencl 硬件 执行 效率 方法 | ||
【主权项】:
1.一种提高OpenCL硬件执行效率的方法,其特征在于:包括以下步骤:S1:使用编译器对以OpenCL语言实现的kernel模块进行编译,调用高级综合工具生成相应的verilog代码;S2:分析生成的、以verilog语言描述的kernel模块的接口,记录所述接口的信号、时序和功能,并保证在后续步骤中上述信号、时序和功能保持不变;S3:根据性能、占用资源的指标要求,对kernel模块的verilog代码进行针对性的优化,将优化后的verilog代码备份存档,以免被后续的OpenCL编译过程覆盖;S4:修改OpenCL开发环境中负责流程控制的脚本,所述修改OpenCL开发环境中负责流程控制的脚本的方式包括在脚本中插入监控命令和文件替换命令,在整个编译过程的高级综合步骤之后,插入文件替换命令,用优化后的verilog代码替换编译器自动生成的verilog代码;S5:重新使用编译器对OpenCL语言实现的kernel模块进行编译,步骤4中修改的流程控制脚本会自动完成指定文件的替换,即将步骤3中优化过的verilog代码代替本步骤中自动生成的verilog代码,随后OpenCL开发环境自动调用FPGA综合工具,完成后续的综合、布局、布线步骤,生成最终所需的FPGA配置文件。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州菲数科技有限公司,未经杭州菲数科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610039665.2/,转载请声明来源钻瓜专利网。
- 上一篇:一种预测叶轮颤振的方法
- 下一篇:一种保障性分析的FMEA的分析方法