[发明专利]一种TensorFlow的FPGA异构加速实现方法、系统、终端及存储介质在审
申请号: | 201910892450.9 | 申请日: | 2019-09-20 |
公开(公告)号: | CN110781126A | 公开(公告)日: | 2020-02-11 |
发明(设计)人: | 王丽 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F15/173 | 分类号: | G06F15/173 |
代理公司: | 37205 济南舜源专利事务所有限公司 | 代理人: | 刘雪萍 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 算法模型 网络层 异构 存储介质 计算平台 支持设备 可识别 原网络 替换 终端 | ||
本发明提供一种TensorFlow的FPGA异构加速实现方法、系统、终端及存储介质,包括:将FPGA注册为TensorFlow可识别设备;将FPGA定义为网络层OP的支持设备;将TensorFlow的原网络层OP替换为定义的网络层OP。本发明能够实现TensorFlow框架下AI算法模型训练任务对FPGA设备的支持,最终实现支持CPU、GPU和FPGA的AI算法模型训练超异构混合计算平台。
技术领域
本发明涉及深度学习技术领域,具体涉及一种TensorFlow的FPGA异构加速实现方法、系统、终端及存储介质。
背景技术
随着大数据、机器学习和人工智能在不同应用领域的发展,传统的计算架构已无法满足其对计算效能持续增长的迫切需求,面向应用的新型混合计算架构研究已经成为业界众多企业和科研机构未来重要的研究方向。
作为深度学习领域最热门的端到端开源深度学习框架,TensorFlow拥有全面、灵活的工具,库和社区资源生态系统,可让研究人员推动深度学习领域的最新技术。开发人员能够使用Keras等直观的高级API轻松构建和训练ML模型,并且可以立即进行模型迭代和轻松调试。当前的TensorFlow最新开源版本能够原生支持使用CPU、GPU对深度学习网络进行混合异构计算,但对于低能耗高性能的FPGA加速设备缺少原生技术支持。
发明内容
针对现有技术的上述不足,本发明提供一种TensorFlow的FPGA异构加速实现方法、系统、终端及存储介质,以解决上述技术问题。
第一方面,本发明提供一种TensorFlow的FPGA异构加速实现方法,包括:
将FPGA注册为TensorFlow可识别设备;
将FPGA定义为网络层OP的支持设备;
将TensorFlow的原网络层OP替换为定义的网络层OP。
进一步的,所述将FPGA注册为TensorFlow可识别设备,包括:
进入TensorFlow源码修改模式;
根据源码的create_device机制,通过模拟CPU设备注册方法将FPGA注册为TensorFlow可识别设备。
进一步的,所述将FPGA定义为网络层OP的支持设备,包括:
自定义网络层OP的前向计算,将FPGA设置为支持设备;
自定义网络层OP的后向计算,将FPGA设置为支持设备;
自定义后向计算的python端接口,并将定义接口添加到TensorFlow源码目录中。
第二方面,本发明提供一种TensorFlow的FPGA异构加速实现系统,包括:
设备注册单元,配置用于将FPGA注册为TensorFlow可识别设备;
网络定义单元,配置用于将FPGA定义为网络层OP的支持设备;
网络替换单元,配置用于将TensorFlow的原网络层OP替换为定义的网络层OP。
进一步的,所述设备注册单元包括:
源码修改模块,配置用于进入TensorFlow源码修改模式;
设备注册模块,配置用于根据源码的create_device机制,通过模拟CPU设备注册方法将FPGA注册为TensorFlow可识别设备。
进一步的,所述网络定义单元包括:
前向定义模块,配置用于自定义网络层OP的前向计算,将FPGA设置为支持设备;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910892450.9/2.html,转载请声明来源钻瓜专利网。