时间:2025-03-21 来源:FPGA_UCY 关于我们 0
本发明专利技术公开了一种基于FPGA加速卡的性能测试系统及方法,具体涉及计算机加速卡技术领域,包括步骤1、基于框架搭建测试环境;步骤2、将数据包从主机端传输至设备端消耗的时间,获取测试环境的基本响应时间;步骤3、执行读操作,获取主机端发送的数据时间和读取数据包的时间,获取FPGA加速卡的读性能;步骤4、执行写操作,获取该DMA引擎写操作的执行时间,获取FPGA加速卡的写性能;步骤5、测试从主机端到片外存储器中和从片外存储器到片上随机存储器的传输速度访问频率,获取FPGA加速卡的传输性能;步骤6、执行对该数据的编码操作,获取FPGA加速卡的编码性能,执行解码操作,获取FPGA加速卡的解码性能;步骤7、综合评估FPGA加速卡的性能。速卡的性能。速卡的性能。
全部详细技术资料下载
【技术实现步骤摘要】
一种基于FPGA加速卡的性能测试系统及方法
[0001]本专利技术涉及计算机加速卡
,更具体地说,本专利技术涉及一种基于FPGA加速卡的性能测试系统及方法。
技术介绍
[0002]FPGA是现场可编程门阵列,是实现算法优化和加速的主流硬件平台,具有高性能低功耗和高灵活性的特点,其设计具有周期短,成本低的特点。FPGA是基于框架,全称Open ,是一个异构并行计算平台编写程序的工作标准,此异构计算可映射到FPGA设备中。提供了底层硬件结构的抽象模型,旨在提供一个通用的开发的调用接口。开发人员可以编写在计算设备上运行的通用计算程序,而无需将其算法映射到计算设备的调用接口上。
[0003]通过硬件编程得到FPGA加速卡,利用FPGA加速卡提供高效的压缩、解压缩算法、视频编码、解码、进行加密、解密、大数据分析、文本搜索和分析、机器学习、算法验证。
[0004]FPGA加速卡用于实现算法加速的功能,所述加速卡基于模型(框架)是基于任务并行、主机端控制的模型,并且每一项任务都是数据并行的,通过命令队列来实现控制。程序通过优化程序设计,合理分配存储空间,能够很大提高程序运行效率
[0005]目前的加速卡性能测试方法主要包括CPU的计算能力、内存、网络,但是这些测试没有考虑到FPGA加速卡架构中更为底层的物理结构对FPGA加速卡的影响,因此,通过现有的FPGA加速卡性能的测试方法所获取的测试结果,并不能反映FPGA加速卡的真实性能,准确度不高。
技术实现思路
[0006]为了克服现有技术的上述缺陷,本专利技术的实施例提供一种基于FPGA加速卡的性能测试系统及方法,通过对FPGA加速卡测试环境的搭建、数据传输性能、数据读取速率的测试以及FPGA加速卡的综合性能评估,提高对FPGA加速卡性能测试的准确度。
[0007]为实现上述目的,本专利技术提供如下技术方案:一种基于FPGA加速卡的性能测试系统,包括测试环境搭建模块、数据响应性能测试模块、数据读写性能测试模块、数据传输性能测试模块、数据编解码性能测试模块、综合性能评估模块,所述环境搭建模块用于搭建适用于FPGA加速卡性能测试的环境,测试环境基于框架包括主机端和设备端,主机端运行在主机处理器上,所述设备端中包括FPGA加速卡,主机端和设备端通过总线进行数据传输;所述数据响应性能测试模块用于测试设备端编译FPGA加速卡执行文件的性能,测试将数据包从主机端传输至设备端消耗的时间,计算基本响应时间B;所述数据读写性能测试模块用于测试FPGA加速卡的执行单元对数据的读速度和写速度;数据传输性能测试模块用于获取FPGA加速卡的数据传输速度和数据;所述数据编解码性能测试模块用于测试FPGA加速卡对于数据编码解码的性能,设备端在得到二进制数据与命令后,再利用FPGA加速卡实现数据的编码、解码操作;所述数据响应性能测试模块用于测试FPGA加速卡的数据传输性
能,测试将数据包从主机端传输至设备端消耗的时间,计算基本响应时间,包括下列步骤:
[0008]步骤S01、主机端以命令方式将内核程序代码从主机端提交到设备端上,将内核程序代码编译成XO文件,用V++语言将XO文件编译成FPGA加速卡可执行的二进制文件;
[0009]步骤S02、记录主机端发送内核程序代码的时间t0,记录二进制文件的生成时间t1;
[0010]步骤S03、用设备端验证得到的二进制文件能否执行,若可执行,则判定此次测试有效,否则,判定此次测试无效;
[0011]步骤S04、重复执行步骤S01~S03,直至有效的测试次数达到指定的测试次数n;
[0012]步骤S05、获得所有有效测试的数据编译二进制文件的大小,将二进制文件的大小记为size1,size2,
…
sizen,将主机端发送命令的时间记为t01,t02,
…
,t0n,将二进制文件的生成时间记为t11,t12,
…
,t1n,计算得到从主机端传输到设备端的数据响应性能,满足
[0013]在一个优选地实施方式中,所述FPGA加速卡包括接口模块、电源变换模块、时钟模块、存储模块,所述FPGA加速卡通过PCI
‑
e总线与主机设备端连接,所述接口模块包括光纤接口,光纤接口指示灯点亮,说明FPGA加速卡和主机设备建立数据传输通道;所述电源变换模块用于消除干扰信号,所述时钟模块用于提供独立参考时钟,所述存储模块包括片外存储器和片内存储器,所述片内存储器为低延迟存储器。
[0014]在一个优选地实施方式中,所述框架包括协议层、硬件抽象层、PCIe设备驱动层,所述协议层用于实现管理命令队列,所述硬件抽象层为协议层提供访问设备句柄,为设备驱动层提供设备控制访问接口,所述驱动层用于驱动设备端。
[0015]在一个优选地实施方式中,所述数据读写性能测试模块包括数据读性能测试单元和数据写性能测试单元,所述数据读性能测试单元包括下列步骤:
[0016]步骤S11、在主机端通过DMA引擎将大小为size的数据包传输到设备端的内存中,以完成对该数据包的DMA读操作;
[0017]步骤S12、通过索引空间获取主机端发送的数据时间t2,获取的FPGA加速卡读取数据包的时间t3;
[0018]步骤S13、将FPGA片外存储器中接收到的数据与主机端的数据包进行比对,若相同,则判定此次测试有效,否则,判定此次测试无效;
[0019]步骤S14、重复执行步骤S11~S13,直至有效的测试次数达到指定的测试次数n;
[0020]步骤S15、获得所有有效测试的数据传输时间,将数据包的大小记为size1,size2,
…
sizen,将主机端发送的数据时间记为t21,t22,
…
,t2n,将FPGA加速卡读取数据包的时间记为t31,t22,
…
,t3n,以计算FPGA加速卡的读性能满足公式
[0021]在一个优选地实施方式中,所述数据写性能测试单元包括下列步骤:
[0022]步骤S21、在FPGA加速卡的片内存储器中初始化大小为size的数据包,并通过FPGA加速卡中DMA引擎将该数据包从虚拟机内存传输到设备端中,以完成对该数据包的DMA写操作;
[0023]步骤S22、通过索引空间获取该DMA引擎写操作的执行时间,记为t4;
[0024]步骤S23、将FPGA加速卡的片内存储器与写入所述FPGA器件中的数据进行比对,若相同,则判定此次写操作有效,否则,判定此次测试无效;
[0025]步骤S24、重复执行步骤S21~S23,直至有效的测试次数达到预设的测试次数n;
[0026]步骤S25、获得每个有效测试的数据传输时间,记为t1,t2,
…
,tn,以计算FPGA加速卡的写性能满足公式满足
【技术保护点】
【技术特征摘要】
1.一种基于FPGA加速卡的性能测试系统,其特征在于:包括测试环境搭建模块、数据响应性能测试模块、数据读写性能测试模块、数据传输性能测试模块、数据编解码性能测试模块、综合性能评估模块,所述环境搭建模块用于搭建适用于FPGA加速卡性能测试的环境,测试环境基于框架包括主机端和设备端,主机端运行在主机处理器上,所述设备端中包括FPGA加速卡,主机端和设备端通过总线进行数据传输;所述数据响应性能测试模块用于测试设备端编译FPGA加速卡执行文件的性能,测试将数据包从主机端传输至设备端消耗的时间,计算基本响应时间B;所述数据读写性能测试模块用于测试FPGA加速卡的执行单元对数据的读速度和写速度;数据传输性能测试模块用于获取FPGA加速卡的数据传输速度和数据;所述数据编解码性能测试模块用于测试FPGA加速卡对于数据编码解码的性能,设备端在得到二进制数据与命令后,再利用FPGA加速卡实现数据的编码、解码操作;所述数据响应性能测试模块用于测试FPGA加速卡的数据传输性能,测试将数据包从主机端传输至设备端消耗的时间,计算基本响应时间,包括下列步骤:步骤S01、主机端以命令方式将内核程序代码从主机端提交到设备端上,将内核程序代码编译成XO文件,用V++语言将XO文件编译成FPGA加速卡可执行的二进制文件;步骤S02、记录主机端发送内核程序代码的时间t0,记录二进制文件的生成时间t1;步骤S03、用设备端验证得到的二进制文件能否执行,若可执行,则判定此次测试有效,否则,判定此次测试无效;步骤S04、重复执行步骤S01~S03,直至有效的测试次数达到指定的测试次数n;步骤S05、获得所有有效测试的数据编译二进制文件的大小,将二进制文件的大小记为size1,size2,
…
sizen,将主机端发送命令的时间记为t01,t02,
…
,t0n,将二进制文件的生成时间记为t11,t12,
…
,t1n,计算得到从主机端传输到设备端的数据响应性能,满足2.根据权利要求1所述的一种基于FPGA加速卡的性能测试系统,其特征在于:所述FPGA加速卡包括接口模块、电源变换模块、时钟模块、存储模块,所述FPGA加速卡通过PCI
‑
e总线与主机设备端连接,所述接口模块包括光纤接口,光纤接口指示灯点亮,说明FPGA加速卡和主机设备建立数据传输通道;所述电源变换模块用于消除干扰信号,所述时钟模块用于提供独立参考时钟,所述存储模块包括片外存储器和片内存储器,所述片内存储器为低延迟存储器。3.根据权利要求1所述的一种基于FPGA加速卡的性能测试系统,其特征在于:所述框架包括协议层、硬件抽象层、PCIe设备驱动层,所述协议层用于实现管理命令队列,所述硬件抽象层为协议层提供访问设备句柄,为设备驱动层提供设备控制访问接口,所述驱动层用于驱动设备端。4.根据权利要求1所述的一种基于FPGA加速卡的性能测试系统,其特征在于:所述数据读写性能测试模块包括数据读性能测试单元和数据写性能测试单元,所述数据读性能测试单元包括下列步骤:步骤S11、在主机端通过DMA引擎将大小为size的数据包传输到设备端的内存中,以完成对该数据包的DMA读操作;步骤S12、通过索引空间获取主机端发送的数据时间t2,获取的FPGA加速卡读取数据包
的时间t3;步骤S13、将FPGA片外存储器中接收到的数据与主机端的数据包进行比对,若相同,则判定此次测试有效,否则,判定此次测试无效;步骤S14、重复执行步骤S11~S13,直至有效的测试次数达到指定的测试次数n;步骤S15、获得所有有效测试的数据传输时间,将数据包的大小记为size1,size2,
…
sizen,将主机端发送的数据时间记为t21,t22,
…
,t2n,将FPGA加速卡读取数据包的时间记为t31,t22,
…
,t3n,以计算FPGA加速卡的读性能满足公式5.根据权利要求1所述的一种基于FPGA加速卡的性能测试系统,其特征在于:所述数据写性能测试单元包括下列步骤:步骤S21、在FPGA加速卡的片内存储器中初始化大小为size的数据包,并通过FPGA加速卡中DMA引擎将该数据包从虚拟机内存传输到设备端中,以完成对该数据包的DMA写操作;步骤S22、通过索引空间获取该DMA引擎写操作的执行时间,记为t4;步骤S23、将FPGA加速卡的片内存储器与写入所述FPGA器件中的数据进行比对,若相同,则判定此次写操作有效,否则,判定此次测试无效;步骤S24、重复执行步骤S21~S23,直至有效的测试次数达到预设的测试次数n;步骤S25、获得每个有效测试的数据传输时间,记为t1,t2,
…
,tn,以计算FPGA加速卡的写性...
【专利技术属性】
技术研发人员:钱裕香,袁宝弟,周春晓,
申请(专利权)人:无锡市软测认证有限公司,
类型:发明
国别省市:
全部详细技术资料下载 我是这个专利的主人