[发明专利]一种在FPGA上实现的CUDA内核的方法在审
申请号: | 201611194611.X | 申请日: | 2016-12-22 |
公开(公告)号: | CN106777710A | 公开(公告)日: | 2017-05-31 |
发明(设计)人: | 李延凯;龚俊;陈刚;唐建 | 申请(专利权)人: | 中国兵器装备集团自动化研究所 |
主分类号: | G06F17/50 | 分类号: | G06F17/50 |
代理公司: | 中国工程物理研究院专利中心51210 | 代理人: | 翟长明,韩志英 |
地址: | 621000 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 fpga 实现 cuda 内核 方法 | ||
技术领域
本发明涉及一种在FPGA上实现的CUDA内核的方法,使用FPGA进行科学运算和图像处理领域,特别是涉及一种在FPGA上实现的CUDA内核并行算法的方法。
背景技术
目前,FPGA和GPGPU已经成为科学运算和图像处理的一个重要组成部分,两者均能够提供高度的并行运算性能。在设计和开发流程上,FPGA开发和GPGPU开发有着本质的区别,FPGA开发使用HDL语言VHDL或者Verilog;GPGPU使用Nvidia公司的CUDA语言,且这两种语言无法交替使用。
使用Nvidia公司的CUDA编程模型,可实现高度并行任务的处理,尤其在科学运算和图像分析领域,CUDA编程模型提供了一套通用的科学运算和图像处理的应用程序接口(API)供用户直接调用,使得程序员在应用中轻易完成细粒度和粗粒度并行算法。
HDL语言则是另一种不同与CUDA的计算机语言,HDL语言要求用户对底层数字电路有很强的理论基础和专业知识,编写算法需要熟练的编程基础和数字信号处理基础,开发周期和难度远远大于CUDA编程模型。
最后,GPGPU能效比较低,GPGPU一般少则上百瓦,多则数百瓦,可以达到数TGFlops的浮点能力,而FPAG只需要十几瓦,即可达到与GPGPU相当的浮点能力。在对与功率要求小,且处理能力强的应用场合,如无人系统和便携式工作站,FPGA的优势则会得到很大的体现。
为此,在使用者层面,希望能用简单的方法实现复杂的功能,这里提及一种在FPGA上实现的CUDA内核的方法,从而达到在FPGA上运行具有高度并行运算能力的CUDA内核。
发明内容
本发明的目的为解决背景技术所描述的问题,提供[一种在FPGA上实现的CUDA内核的方法]。
其硬件平台连接为:将安装有Vivado设计开发环境的计算机,通过FPGA仿真器,与FPGA硬件平台相连;本发明选用的FPGA仿真器为Xilinx DLC9G USB 仿真器,其具备Xilinx全系FPGA在线仿真及执行文件下载功能。将该仿真器一端接计算机USB端口,另一端接FPGA JTAG端口。FPGA硬件开发平台选用Xilinx VC707开发平台,FPGA型号为Virtex-7 XC7VX485T。
在上述硬件开发平台之上,开发步骤如下:
(1)在安装有CUDA编程模型的计算机中,找到所需要的并行算法,并提取CUDA开发环境中C/C++并行算法工程文件.cpp以及支持库文件.h。(2)将算法工程文件以及库文件导入至Vivado HDL设计开发环境中(3)根据实际需求,修改和调试算法函数。(4)将调试好的函数以及算法工程文件进行编译和综合,生成RTL文件。(5)将RTL文件导入至顶层Verilog/VHDL设计,进行逻辑综合、生成FPGA可执行文件.bin。(6)通过下载线将可执行文件下载至FPGA运行,完成从CUDA C/C++并行算法到FPGA的移植工作。
其中,对于更具实际需求,修改和调试算法函数包括以下步骤:
(1)根据实际需求,修改CUDA算法接口函数,使其与应用相匹配。(2)将修改后的算法通过仿真命令,在Vivado HDL中进行仿真运行,检查输入值与输出值是否与应用相匹配。(3)将调试后的算法,进行编译和综合。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种在FPGA上实现的CUDA内核的方法的流程图;
图中100.CUDAC/C++并行算法代码,图中200.FCUDA编译器,图中300.Vivado HLS 工具,图中400.生成RTL描述语言,图中500.与顶层语言相结合进行综合,生成FPGA可执行文件。
图2为本发明中硬件连接框图;
图中将仿真器2一端接计算机1 USB端口,另一端接FPGA JTAG 4端口。FPGA硬件开发平台3选用Xilinx VC707开发平台,FPGA型号为Virtex-7 XC7VX485T。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国兵器装备集团自动化研究所,未经中国兵器装备集团自动化研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611194611.X/2.html,转载请声明来源钻瓜专利网。