CN114003251A - Fpga加速卡探测方法、装置、设备及计算机存储介质 - Google Patents

Fpga加速卡探测方法、装置、设备及计算机存储介质 Download PDF

Info

Publication number
CN114003251A
CN114003251A CN202111639518.6A CN202111639518A CN114003251A CN 114003251 A CN114003251 A CN 114003251A CN 202111639518 A CN202111639518 A CN 202111639518A CN 114003251 A CN114003251 A CN 114003251A
Authority
CN
China
Prior art keywords
card
information
card slot
network
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111639518.6A
Other languages
English (en)
Other versions
CN114003251B (zh
Inventor
高福亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING ZHONGKE WANGWEI INFORMATION TECHNOLOGY CO LTD
Original Assignee
BEIJING ZHONGKE WANGWEI INFORMATION TECHNOLOGY CO LTD
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BEIJING ZHONGKE WANGWEI INFORMATION TECHNOLOGY CO LTD filed Critical BEIJING ZHONGKE WANGWEI INFORMATION TECHNOLOGY CO LTD
Priority to CN202111639518.6A priority Critical patent/CN114003251B/zh
Publication of CN114003251A publication Critical patent/CN114003251A/zh
Application granted granted Critical
Publication of CN114003251B publication Critical patent/CN114003251B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本申请涉及网卡探测技术领域,提供一种FPGA加速卡探测方法、装置、设备及计算机存储介质,该方法包括:读取待探测网卡中存储器的固件信息,以及确定所述待探测网卡的当前卡槽位;将所述固件信息与预设信息进行信息对比,得到对比结果;若所述对比结果为所述固件信息与所述预设信息的信息一致,则根据所述对比结果确定目标卡槽状态;将所述目标卡槽状态替换所述当前卡槽位的卡槽状态,以及将所述待探测网卡标记为FPGA加速卡。本申请实施例提供的FPGA加速卡探测方法在FPGA加速卡探测过程中,通过待探测网卡的固件信息,准确地将混合卡槽中FPGA加速卡的待探测网卡进行定位,从而准确地定位出混合卡槽中的FPGA加速卡。

Description

FPGA加速卡探测方法、装置、设备及计算机存储介质
技术领域
本申请涉及网卡探测技术领域,尤其涉及一种FPGA加速卡探测方法、装置、设备及计算机存储介质。
背景技术
传统网络硬件设备的CPU及网卡处理性能有限,尤其是在小包的复杂业务处理能力上显得捉襟见肘,所以为了提升网络设备的转发性能引入专门的加速卡硬件设备,如FPGA(Field Programmable Gate Array),FPGA器件属于专用集成电路中的一种半定制电路,是可编程的逻辑列阵,配合传统网卡使用及专门的定制程序,实现FPGA加速卡即可当普通网卡使用,也可当加速卡使用,并且支持多插槽设备上与普通网卡混插使用。然而,FPGA加速卡和普通网卡无法从外观上进行区分,从而无法准确定位出混合卡槽中的FPGA加速卡。
发明内容
本申请提供一种FPGA加速卡探测方法、装置、设备及计算机存储介质,旨在准确定位出混合卡槽中的FPGA加速卡。
第一方面,本申请提供一种FPGA加速卡探测方法,包括:
读取待探测网卡中存储器的固件信息,以及确定所述待探测网卡的当前卡槽位;
将所述固件信息与预设信息进行信息对比,得到对比结果;
若所述对比结果为所述固件信息与所述预设信息的信息一致,则根据所述对比结果确定目标卡槽状态;
将所述目标卡槽状态替换所述当前卡槽位的卡槽状态,以及将所述待探测网卡标记为FPGA加速卡。
在一实施例中,所述将所述固件信息与预设信息进行信息对比,得到对比结果之后,还包括:
若所述对比结果为所述固件信息与所述预设信息的信息不一致,则将所述当前卡槽位的卡槽状态保持原始卡槽状态,以及将所述待探测网卡标记为普通网卡。
所述将所述目标卡槽状态替换所述当前卡槽位的卡槽状态,以及将所述待探测网卡标记为FPGA加速卡之后,还包括:
接收并解析网卡查询指令,确定所述网卡查询指令中的待查询卡槽位,以及确定所述待查询卡槽位的网口是否注册;
若所述待查询卡槽位的网口已经注册,则确定所述待查询卡槽位的网卡类型;
若所述网卡类型为普通网卡类型,则确定所述待查询卡槽位的目标普通网卡,以及返回所述目标普通网卡的网卡信息。
所述若所述待查询卡槽位的网口已经注册,则确定所述待查询卡槽位的网卡类型之后,还包括:
若所述网卡类型为FPGA加速卡类型,则确定所述待查询卡槽位的目标FPGA加速卡;
确定所述目标FPGA加速卡中存储器的目标固件信息,其中,所述目标固件信息包括加速卡类型信息、版本号信息、发布时间信息和状态信息;
返回所述目标FPGA加速卡的加速卡类型信息、版本号信息、发布时间信息和状态信息。
所述将所述固件信息与预设信息进行信息对比,得到对比结果,包括:
将所述固件信息中第一数值与所述预设信息中的第二数值进行数值一致性对比;
若所述第一数值与所述第二数值的数值一致,则得到所述固件信息与所述预设信息的信息一致的对比结果;
若所述第一数值与所述第二数值的数值不一致,则得到所述固件信息与所述预设信息的信息不一致的对比结果。
所述读取待探测网卡中存储器的固件信息,以及确定所述待探测网卡的当前卡槽位之前,还包括:
确定各个卡槽位的网口状态,以及确实各个卡槽位中的目标卡槽位,其中,所述目标卡槽位的网口状态为已注册状态;
基于所述目标卡槽位执行所述读取待探测网卡中存储器的固件信息,以及确定所述待探测网卡的当前卡槽位的步骤。
所述将所述目标卡槽状态替换所述当前卡槽位的卡槽状态,以及将所述待探测网卡标记为FPGA加速卡之后,还包括:
根据所述对比结果确定所述当前卡槽位的目标卡槽数值;
将所述目标卡槽数值替换所述当前卡槽位的原始卡槽数值。
第二方面,本申请还提供一种FPGA加速卡探测装置,包括:
读取模块,用于读取待探测网卡中存储器的固件信息,以及确定所述待探测网卡的当前卡槽位;
对比模块,用于将所述固件信息与预设信息进行信息对比,得到对比结果;
确定模块,用于若所述对比结果为所述固件信息与所述预设信息的信息一致,则根据所述对比结果确定目标卡槽状态;
标记模块,用于将所述目标卡槽状态替换所述当前卡槽位的卡槽状态,以及将所述待探测网卡标记为FPGA加速卡。
第三方面,本申请还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述FPGA加速卡探测方法的步骤。
第四方面,本申请还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述FPGA加速卡探测方法的步骤。
第五方面,本申请还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被所述处理器执行时实现第一方面所述FPGA加速卡探测方法的步骤。
本申请提供的FPGA加速卡探测方法、装置、设备及计算机存储介质,在FPGA加速卡探测过程中,通过待探测网卡的固件信息,准确地将混合卡槽中FPGA加速卡的待探测网卡进行定位,从而准确地定位出混合卡槽中的FPGA加速卡。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的FPGA加速卡探测方法的流程示意图之一;
图2是本申请提供的FPGA加速卡探测方法的流程示意图之二;
图3是本申请提供的FPGA加速卡探测装置的结构示意图;
图4是本申请提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面结合图1至图4描述本申请提供的FPGA加速卡探测方法、装置、设备及计算机存储介质。
本申请提供一种FPGA加速卡探测方法,参照图1至图4,图1是本申请提供的FPGA加速卡探测方法的流程示意图之一;图2是本申请提供的FPGA加速卡探测方法的流程示意图之二;图3是本申请提供的FPGA加速卡探测装置的结构示意图;图4是本申请提供的电子设备的结构示意图。
本申请实施例提供了FPGA加速卡探测方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些数据下,可以以不同于此处的顺序完成所示出或描述的步骤。
本申请实施例以电子设备作为执行主体进行举例,本申请实施例以网卡探测系统为电子设备的形式之一,不对电子设备限制。
参考图1,图1是本申请提供的FPGA加速卡探测方法的流程示意图之一,本申请实施例提供的FPGA加速卡探测方法包括:
步骤S30,读取待探测网卡中存储器的固件信息,以及确定所述待探测网卡的当前卡槽位。
需要说明的是,FPGA加速卡或者普通网卡在生产时,烧录系统需要将其固件信息烧录至其存储器的固定空闲空间位置中,其中,本实施例中的存储器为EEPROM(Electrically Erasable Programmable Read Only Memory,带电可擦可编程只读存储器),可以理解为,FPGA加速卡或者普通网卡在生产时,烧录系统需要将其固件信息烧录至其EEPROM的固定空闲空间位置中。
本实施例以将FPGA加速卡的固件信息烧录至其EEPROM的固定空闲空间位置中说明。在本实施例中,将FPGA加速卡中固件信息的格式内容定义为16 byte(字节)信息,即固件信息的总字节数为16个字节,其中,16个字节中的写入数值必须是十六进制且为小端字节序。进一步地,16个字节中的前8个字节为预设数值,代表FPGA加速卡的标识,即如预设数值全为A:0xAAAAAAAAAAAAAAAA,后8个字节中的前4个字节分别代表FPGA加速卡的网卡类型信息和版本号信息,后4个字节代表FPGA加速卡的发布日期信息。
在本实施例中,比如,固件信息1为“AAAA AAAA AAAA AAAA 0108 0600 20200408”,对固件信息1的解析如下:“AAAA AAAA AAAA AAAA”:FPGA加速卡的标识;“0108”代表FPGA加速卡的网卡类型信息:8x1G 八口千兆FPGA加速卡;“0060”代表FPGA加速卡的版本号信息:FPGA固件版本号V0006;“2020 0408”代表FPGA加速卡的发布日期信息:FPGA固件发布日期为2020年04月08日。再比如,固件信息2为“AAAA AAAA AAAA AAAA 1004 0600 20200607”,对固件信息2的解析如下:“AAAA AAAA AAAA AAAA”:FPGA加速卡的标识;“1004”代表FPGA加速卡的网卡类型信息:4x10G 四口万兆FPGA加速卡;“0060”代表FPGA加速卡的版本号信息:FPGA固件版本号V0006;“2020 0607”代表FPGA加速卡的发布日期信息:FPGA固件发布日期为2020年06月07日。
进一步地,烧录系统通过烧录系统命令ethtool 提前预读取不同类型FPGA加速卡对应的EEPROM固定空闲空间位置,若某一固定空闲空间位置的16个字节全为F字段,即表示该某一固定空闲空间位置为空闲未使用的空间。如,第一固定空闲空间位置0x0eb0的16个字节为ffffffffffffffffffffffffffffffff ,第二固定空闲空间位置0x0ec0的16个字节为ffffffffffffffffffffffffffffffff,第三固定空闲空间位置0x0ed0的16个字节为ffffffffffffffffffffffffffffffff,因此,0x0eb0、0x0ec0和0x0ed0都是空闲空间位置。在本实施例中,定义将8*1G千兆FPGA加速卡的固件信息烧写至固件固定位置0x0ec0,定义将4*10G万兆FPGA加速卡的固件信息烧写至固件固定位置0x6940。
进一步需要说明的是,8*1G千兆FPGA加速卡在烧录过程中,必须同时烧写固件前四个口的第一个口及后四个口的第一个口,且要求版本信息都相同,即可以理解为,千兆卡四个口共用一个EEPROM存储器空间,也即1和5两个口。万兆FPGA加速卡在烧录过程中,只须烧写固件四个口的第一个口,即可以理解为,万兆卡四个口共用一个EEPROM存储器空间。
具体地,烧录系统执行FPGA加速卡固件烧写程序,利用DPDK(Data PlaneDevelopment Kit,数据平面开发套件)驱动FPGA加速卡,结合rte_eth_dev_set_eeprom()接口函数进行FPGA加速卡固件烧写。如,对于烧录8*1G千兆FPGA加速卡而言,烧录系统通过rte_eth_dev_set_eeprom()接口函数将8*1G千兆FPGA加速卡的固件信息烧写至固件固定位置0x0ec0。再如,对于烧录4*10G万兆FPGA加速卡而言,烧录系统通过rte_eth_dev_set_eeprom()接口函数将4*10G万兆FPGA加速卡的固件信息烧写至固件固定位置0x6940,上述烧录操作在FPGA加速卡生产时操作一次即可。
同理,普通网卡的固件信息的烧录过程与FPGA加速卡的固件信息的烧录过程类似,本实施例不再赘述。
进一步需要说明的是,在FPGA加速卡探测的过程中,只有完成了网口注册的卡槽位,才能进行FPGA加速卡探测。因此,在FPGA加速卡探测之前,网卡探测系统确定其每个卡槽位的网口是否已经注册完成,具体如步骤S10至步骤S20所述。
进一步地,步骤S10至步骤S20的描述如下:
步骤S10,确定各个卡槽位的网口状态,以及确实各个卡槽位中的目标卡槽位,其中,所述目标卡槽位的网口状态为已注册状态;
步骤S20,基于所述目标卡槽位执行所述读取待探测网卡中存储器的固件信息,以及确定所述待探测网卡的当前卡槽位的步骤。
具体地,网卡探测系统初始化时,FPGA内部网卡或普通网卡接口在系统启动过程中,都是由软件DPDK网卡驱动程序注册接口。因此,在网口数据结构中增加了两个成员变量,两个成员变量分别为fpga_slot成员变量和fpga_exist_flag成员变量,通过fpga_slot成员变量和fpga_exist_flag成员变量表示卡槽位的网口状态。在本实施例中,网口状态可分为在位状态(已注册状态)和不在位状态(未注册状态),其中,在位状态又可以分为FPGA在位状态和普通网卡在位状态,对于网口状态为不在位状态,也可以理解为该网口未插网卡。以fpga_slot成员变量和fpga_exist_flag成员变量可表示为,对于FPGA在位状态:可用fpga_card_slot_exist表示,对于普通网卡在位状态:可用fpga_card_slot_no_exist表示,对于网口未插网卡即不在位状态,可用fpga_any_card_slot_no_exist。
因此,网卡探测系统确定各个卡槽位的网口状态,以及确实各个卡槽位中网口状态为已注册状态(在位状态)的目标卡槽位。接着,网卡探测系统则开启网口,并通过rte_eth_dev_set_eeprom()接口函数读取插在目标卡槽位中,待探测网卡中EEPROM存储器的固件信息,以及确定每个待探测网卡所处的当前卡槽位,即确定每个待探测网卡当前所处的卡槽位的序号。
固件信息读取的具体说明如下,本实施例以8*1G千兆FPGA加速卡和4*10G万兆FPGA加速卡为例进行说明。对于8*1G千兆FPGA加速卡,通过rte_eth_dev_set_eeprom()接口函数读取固定位置0x0ec0中的固件信息,且只读取第一个口的EEPROM空间,即可得到8*1G千兆FPGA加速卡的固件信息。对于4*10G万兆FPGA加速卡,通过rte_eth_dev_set_eeprom()接口函数读取固定位置0x6940中的固件信息,且只读取第一个口的EEPROM空间即可得到4*10G万兆FPGA加速卡的固件信息。
需要说明的是,不同应用场景对于所有卡槽位中的网卡初始状态设置和FPGA状态(网口状态)的初始状态设置都不一样的。本实施例设定为:所有卡槽位中的网卡初始状态都默认为普通网卡,所有卡槽位中的FPGA状态的初始状态都默认为普通网卡在位状态,后续根据FPGA加速卡的探测结果更替初始状态或保持初始状态。
步骤S40,将所述固件信息与预设信息进行信息对比,得到对比结果。
进一步地,网卡探测系统需要将读取到的固件信息与网卡探测系统中的预设信息进行信息一致性对比,得到对应的对比结果,其中,预设信息根据实际情况设定,对比结果可以为固件信息与预设信息的信息一致,对比结果也可以为固件信息与预设信息的信息不一致,具体如步骤S401至步骤S403所述。
需要说明的是,由于本申请实施例是对FPGA加速卡的探测,因此,预设信息即为FPGA加速卡的标识数值。因此,可以理解为,网卡探测系统根据FPGA加速卡的标识数值确定读取到的固件信息是否为FPGA加速卡的固件信息。当然,如果是对普通网卡的探测,则预设信息可以设定为普通网卡的标识数值。当然,除了上述提及的FPGA加速卡和普通网卡,其他网卡可以同样适用。
进一步地,步骤S401至步骤S403的描述如下:
步骤S401,将所述固件信息中第一数值与所述预设信息中的第二数值进行数值一致性对比;
步骤S402,若所述第一数值与所述第二数值的数值一致,则得到所述固件信息与所述预设信息的信息一致的对比结果;
步骤S403,若所述第一数值与所述第二数值的数值不一致,则得到所述固件信息与所述预设信息的信息不一致的对比结果。
具体地,网卡探测系统读取固件信息中前16字节的第一数值,以及读取预设信息前16字节的第二数值。接着,网卡探测系统将第一数值和第二数值进行数值一致性对比。若确定第一数值与第二数值的数值一致,网卡探测系统则确定对比结果为固件信息与预设信息的信息一致,即确定读取到的固件信息是FPGA加速卡的固件信息。若确定第一数值与第二数值的数值不一致,网卡探测系统则确定对比结果为固件信息与预设信息的信息不一致,即确定读取到的固件信息不是FPGA加速卡的固件信息。
本申请实施例通过固件信息中第一数值与预设信息中的第二数值进行数值一致性对比,得到准确的对比结果,进一步准确定位出混合卡槽中的FPGA加速卡。
步骤S50,若所述对比结果为所述固件信息与所述预设信息的信息一致,则根据所述对比结果确定目标卡槽状态。
进一步地,对于对比结果为固件信息与预设信息的信息一致而言,如S50部分所述:若确定对比结果为固件信息与预设信息的信息一致,网卡探测系统则确定读取到的固件信息是FPGA加速卡的固件信息,因此,将此时的该待探测网卡对应的当前卡槽位的FPGA状态确定为FPGA在位状态,即此时的目标卡槽状态为FPGA在位状态。
对于对比结果为固件信息与预设信息的信息不一致而言,具体如步骤S51所述。
步骤S51,若所述对比结果为所述固件信息与所述预设信息的信息不一致,则将所述当前卡槽位的卡槽状态保持原始卡槽状态,以及将所述待探测网卡标记为普通网卡。
具体地,若确定对比结果为固件信息与预设信息的信息不一致,网卡探测系统则确定读取到的固件信息不是FPGA加速卡的固件信息,因此,网卡探测系统将此时的该待探测网卡对应的当前卡槽位的FPGA状态确定为普通网卡在位状态,即确定此时的目标卡槽状态为普通网卡在位状态。由于本实施例中设定各个卡槽位的FPGA状态的初始状态为普通网卡在位状态,因此,网卡探测系统将此时的该待探测网卡对应的当前卡槽位的卡槽状态保持原始卡槽状态,即普通网卡在位状态,同时,网卡探测系统将待探测网卡标记为普通网卡。
本申请实施例通过固件信息准确地确定混合卡槽中的待探测网卡是FPGA加速卡还是普通网卡。
步骤S60,将所述目标卡槽状态替换所述当前卡槽位的卡槽状态,以及将所述待探测网卡标记为FPGA加速卡。
由于本实施例中设定各个卡槽位的FPGA状态的初始状态为普通网卡在位状态,因此,网卡探测系统在确定读取到的固件信息是FPGA加速卡的固件信息,将此时的目标卡槽状态为FPGA在位状态替换当前卡槽位的普通网卡在位状态,同时,网卡探测系统将待探测网卡标记为FPGA加速卡。
进一步地,在确定各个卡槽位的待探测网卡是FPGA加速卡,还是普通网卡网卡之后,还需要设置当前卡槽位的数值,因此本实施例引入fpga_exist_flag参数,具体如步骤S70至步骤S80所述。需要说明的是,本实施例中设定各个卡槽位的初始fpga_exist_flag为2,fpga_exist_flag=2对应即为各个卡槽位的FPGA状态的初始状态为普通网卡在位状态,即原始卡槽数值为fpga_exist_flag=2。
进一步地,步骤S70至步骤S80的描述如下:
步骤S70,根据所述对比结果确定所述当前卡槽位的目标卡槽数值;
步骤S80,将所述目标卡槽数值替换所述当前卡槽位的原始卡槽数值。
具体地,若确定对比结果为固件信息与预设信息的信息一致,网卡探测系统则确定读取到的固件信息是FPGA加速卡的固件信息,即待探测网卡为FPGA加速卡,也即当前卡槽位为FPGA在为状态,确定将此时的fpga_exist_flag设定为1,即当前卡槽位的目标卡槽数值为fpga_exist_flag=1。接着,网卡探测系统将当前卡槽位的目标卡槽数值fpga_exist_flag=1替换当前卡槽位的原始数值fpga_exist_flag=2。
进一步地,若确定对比结果为固件信息与预设信息的信息不一致,网卡探测系统则确定读取到的固件信息不是FPGA加速卡的固件信息,即待探测网卡为普通网卡,也即当前卡槽位为普通网卡在位状态与设定的初始状态相同。因此,网卡探测系统继续保持当前卡槽位的原始数值fpga_exist_flag,即当前卡槽位的fpga_exist_flag=2。
进一步地,对于网口状态为未注册状态,即不在位状态的卡槽位的fpga_exist_flag设定为3。
本申请实施例还通过卡槽数值的将FPGA加速卡的卡槽位与普通网卡的卡槽位进行区分,从而能够直接通过各个卡槽位的卡槽数值快速定位卡槽位的网卡是FPGA加速卡还是普通网卡。
本实施例提供了FPGA加速卡探测方法,在FPGA加速卡探测过程中,通过待探测网卡的固件信息,准确地将混合卡槽中FPGA加速卡的待探测网卡进行定位,从而准确地定位出混合卡槽中的FPGA加速卡。
参考图2,图2是本申请提供的FPGA加速卡探测方法的流程示意图之二,本申请实施例提供的FPGA加速卡探测方法包括:
步骤S90,接收并解析网卡查询指令,确定所述网卡查询指令中的待查询卡槽位,以及确定所述待查询卡槽位的网口是否注册;
步骤S100,若所述待查询卡槽位的网口已经注册,则确定所述待查询卡槽位的网卡类型;
步骤S110,若所述网卡类型为普通网卡类型,则确定所述待查询卡槽位的目标普通网卡,以及返回所述目标普通网卡的网卡信息。
需要说明的是,本实施例的网卡探测系统还提供查询模块,在网卡探测系统中的查询命令行中输入网卡查询指令,即可查询相关的网卡信息,具体如下:
网卡探测系统接收到输入的网卡查询指令,对网卡查询指令进行解析,得到网卡查询指令中的卡槽位的卡槽号,以及根据卡槽号确定网卡查询指令中的待查询卡槽位。接着,网卡探测系统确定待查询卡槽位的网口是否注册,若确定待查询卡槽位的网口未完成注册,网卡探测系统则返回对应的查询信息。若确定待查询卡槽位的网口已经注册,网卡探测系统则确定待查询卡槽位的网卡类型,其中,网卡类型包括但不限制于FPGA加速卡类型和普通网卡类型。
进一步地,对于网卡类型为普通网卡类型而言,具体如:若确定网卡类型为普通网卡类型,网卡探测系统则确定待查询卡槽位的目标普通网卡。接着,网卡探测系统确定目标普通网卡中EEPROM存储器的固件信息,得到目标普通网卡的网卡信息,其中,网卡信息包括但不限制于普通网卡的网卡类型信息、版本号信息、发布时间信息和状态信息。最后,网卡探测系统将目标普通网卡的网卡类型信息、版本号信息、发布时间信息和状态信息返回至显示界面进行显示,其中,状态信息包括开启状态和关闭状态。
进一步地,对于网卡类型为FPGA加速卡类型而言,具体如步骤S120至步骤S140所述。
进一步地,步骤S120至步骤S140的描述如下:
步骤S120,若所述网卡类型为FPGA加速卡类型,则确定所述待查询卡槽位的目标FPGA加速卡;
步骤S130,确定所述目标FPGA加速卡中存储器的目标固件信息,其中,所述目标固件信息包括加速卡类型信息、版本号信息、发布时间信息和状态信息;
步骤S140,返回所述目标FPGA加速卡的加速卡类型信息、版本号信息、发布时间信息和状态信息。
若确定网卡类型为FPGA加速卡类型,网卡探测系统则确定待查询卡槽位的目标FPGA加速卡。接着,网卡探测系统确定目标FPGA加速卡中EEPROM存储器的目标固件信息,其中,目标固件信息包括但不限制于FPGA加速卡的加速卡类型信息、版本号信息、发布时间信息和状态信息。最后,网卡探测系统将目标FPGA加速卡的加速卡类型信息、版本号信息、发布时间信息和状态信息返回至显示界面进行显示,其中,状态信息包括开启状态和关闭状态。
在本实施例中,比如,网卡查询指令为“查询1至4号卡槽位”,则确定待查询卡槽位为1号卡槽位、2号卡槽位、3号卡槽位和4号卡槽位。1号卡槽位网口未完成注册,网卡探测系统则返回的查询信息为“Any Card No Exist In Slot 1”。2号卡槽位和3号卡槽位都是FPGA加速卡,2号卡槽位的FPGA加速卡为关闭状态,3号卡槽位的FPGA加速卡为开启状态,网卡探测系统则返回“FPGA Card 8*1G Is Closed Exist In Slot 2;FPGA Version Is v06Release Time 20200804”和“FPGA Card 4*10G Is Opened Exist In Slot 3;FPGAVersion Is v06 Release Time 20200706”。4号卡槽位为普通网卡,网卡探测系统则返回“Network Card Exist In Slot 4”。
本实施例提供了FPGA加速卡探测方法还提供了查询模块,通过网卡查询指令返回用户所要查询的网卡信息,从而完成了人机交互,提升了用户体验,进一步地,用户还可以根据返回的查询结果确定系统对网卡的判定结果是否准确。
进一步地,下面对本申请提供的FPGA加速卡探测装置进行描述,下文描述的FPGA加速卡探测装置与上文描述的FPGA加速卡探测方法相互对应参照。
如图3所示,图3是本申请提供的FPGA加速卡探测装置的结构示意图,FPGA加速卡探测装置包括:
读取模块301,用于读取待探测网卡中存储器的固件信息,以及确定所述待探测网卡的当前卡槽位;
对比模块302,用于将所述固件信息与预设信息进行信息对比,得到对比结果;
确定模块303,用于若所述对比结果为所述固件信息与所述预设信息的信息一致,则根据所述对比结果确定目标卡槽状态;
标记模块304,用于将所述目标卡槽状态替换所述当前卡槽位的卡槽状态,以及将所述待探测网卡标记为FPGA加速卡。
进一步地,标记模块304还用于:
若所述对比结果为所述固件信息与所述预设信息的信息不一致,则将所述当前卡槽位的卡槽状态保持原始卡槽状态,以及将所述待探测网卡标记为普通网卡。
进一步地,FPGA加速卡探测装置还包括返回模块,用于:
接收并解析网卡查询指令,确定所述网卡查询指令中的待查询卡槽位,以及确定所述待查询卡槽位的网口是否注册;
若所述待查询卡槽位的网口已经注册,则确定所述待查询卡槽位的网卡类型;
若所述网卡类型为普通网卡类型,则确定所述待查询卡槽位的目标普通网卡,以及返回所述目标普通网卡的网卡信息。
进一步地,返回模块还用于:
若所述网卡类型为FPGA加速卡类型,则确定所述待查询卡槽位的目标FPGA加速卡;
确定所述目标FPGA加速卡中存储器的目标固件信息,其中,所述目标固件信息包括加速卡类型信息、版本号信息、发布时间信息和状态信息;
返回所述目标FPGA加速卡的加速卡类型信息、版本号信息、发布时间信息和状态信息。
进一步地,对比模块302还用于:
将所述固件信息中第一数值与所述预设信息中的第二数值进行数值一致性对比;
若所述第一数值与所述第二数值的数值一致,则得到所述固件信息与所述预设信息的信息一致的对比结果;
若所述第一数值与所述第二数值的数值不一致,则得到所述固件信息与所述预设信息的信息不一致的对比结果。
进一步地,FPGA加速卡探测装置还包括执行模块,用于:
确定各个卡槽位的网口状态,以及确实各个卡槽位中的目标卡槽位,其中,所述目标卡槽位的网口状态为已注册状态;
基于所述目标卡槽位执行所述读取待探测网卡中存储器的固件信息,以及确定所述待探测网卡的当前卡槽位的步骤。
进一步地,FPGA加速卡探测装置还包括替换模块,用于
根据所述对比结果确定所述当前卡槽位的目标卡槽数值;
将所述目标卡槽数值替换所述当前卡槽位的原始卡槽数值。
本申请提供的FPGA加速卡探测装置的具体实施例与上述FPGA加速卡探测方法各实施例基本相同,在此不作赘述。
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行FPGA加速卡探测方法,该方法包括:
读取待探测网卡中存储器的固件信息,以及确定所述待探测网卡的当前卡槽位;
将所述固件信息与预设信息进行信息对比,得到对比结果;
若所述对比结果为所述固件信息与所述预设信息的信息一致,则根据所述对比结果确定目标卡槽状态;
将所述目标卡槽状态替换所述当前卡槽位的卡槽状态,以及将所述待探测网卡标记为FPGA加速卡。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本申请还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的FPGA加速卡探测方法,该方法包括:
读取待探测网卡中存储器的固件信息,以及确定所述待探测网卡的当前卡槽位;
将所述固件信息与预设信息进行信息对比,得到对比结果;
若所述对比结果为所述固件信息与所述预设信息的信息一致,则根据所述对比结果确定目标卡槽状态;
将所述目标卡槽状态替换所述当前卡槽位的卡槽状态,以及将所述待探测网卡标记为FPGA加速卡。
又一方面,本申请还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的FPGA加速卡探测方法,该方法包括:
读取待探测网卡中存储器的固件信息,以及确定所述待探测网卡的当前卡槽位;
将所述固件信息与预设信息进行信息对比,得到对比结果;
若所述对比结果为所述固件信息与所述预设信息的信息一致,则根据所述对比结果确定目标卡槽状态;
将所述目标卡槽状态替换所述当前卡槽位的卡槽状态,以及将所述待探测网卡标记为FPGA加速卡。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (10)

1.一种FPGA加速卡探测方法,其特征在于,包括:
读取待探测网卡中存储器的固件信息,以及确定所述待探测网卡的当前卡槽位;
将所述固件信息与预设信息进行信息对比,得到对比结果;
若所述对比结果为所述固件信息与所述预设信息的信息一致,则根据所述对比结果确定目标卡槽状态;
将所述目标卡槽状态替换所述当前卡槽位的卡槽状态,以及将所述待探测网卡标记为FPGA加速卡。
2.根据权利要求1所述的FPGA加速卡探测方法,其特征在于,所述将所述固件信息与预设信息进行信息对比,得到对比结果之后,还包括:
若所述对比结果为所述固件信息与所述预设信息的信息不一致,则将所述当前卡槽位的卡槽状态保持原始卡槽状态,以及将所述待探测网卡标记为普通网卡。
3.根据权利要求1至2任一项所述的FPGA加速卡探测方法,其特征在于,所述将所述目标卡槽状态替换所述当前卡槽位的卡槽状态,以及将所述待探测网卡标记为FPGA加速卡之后,还包括:
接收并解析网卡查询指令,确定所述网卡查询指令中的待查询卡槽位,以及确定所述待查询卡槽位的网口是否注册;
若所述待查询卡槽位的网口已经注册,则确定所述待查询卡槽位的网卡类型;
若所述网卡类型为普通网卡类型,则确定所述待查询卡槽位的目标普通网卡,以及返回所述目标普通网卡的网卡信息。
4.根据权利要求3所述的FPGA加速卡探测方法,其特征在于,所述若所述待查询卡槽位的网口已经注册,则确定所述待查询卡槽位的网卡类型之后,还包括:
若所述网卡类型为FPGA加速卡类型,则确定所述待查询卡槽位的目标FPGA加速卡;
确定所述目标FPGA加速卡中存储器的目标固件信息,其中,所述目标固件信息包括加速卡类型信息、版本号信息、发布时间信息和状态信息;
返回所述目标FPGA加速卡的加速卡类型信息、版本号信息、发布时间信息和状态信息。
5.根据权利要求1所述的FPGA加速卡探测方法,其特征在于,所述将所述固件信息与预设信息进行信息对比,得到对比结果,包括:
将所述固件信息中第一数值与所述预设信息中的第二数值进行数值一致性对比;
若所述第一数值与所述第二数值的数值一致,则得到所述固件信息与所述预设信息的信息一致的对比结果;
若所述第一数值与所述第二数值的数值不一致,则得到所述固件信息与所述预设信息的信息不一致的对比结果。
6.根据权利要求1至2任一项所述的FPGA加速卡探测方法,其特征在于,所述读取待探测网卡中存储器的固件信息,以及确定所述待探测网卡的当前卡槽位之前,还包括:
确定各个卡槽位的网口状态,以及确实各个卡槽位中的目标卡槽位,其中,所述目标卡槽位的网口状态为已注册状态;
基于所述目标卡槽位执行所述读取待探测网卡中存储器的固件信息,以及确定所述待探测网卡的当前卡槽位的步骤。
7.根据权利要求1至2任一项所述的FPGA加速卡探测方法,其特征在于,所述将所述目标卡槽状态替换所述当前卡槽位的卡槽状态,以及将所述待探测网卡标记为FPGA加速卡之后,还包括:
根据所述对比结果确定所述当前卡槽位的目标卡槽数值;
将所述目标卡槽数值替换所述当前卡槽位的原始卡槽数值。
8.一种FPGA加速卡探测装置,其特征在于,包括:
读取模块,用于读取待探测网卡中存储器的固件信息,以及确定所述待探测网卡的当前卡槽位;
对比模块,用于将所述固件信息与预设信息进行信息对比,得到对比结果;
确定模块,用于若所述对比结果为所述固件信息与所述预设信息的信息一致,则根据所述对比结果确定目标卡槽状态;
标记模块,用于将所述目标卡槽状态替换所述当前卡槽位的卡槽状态,以及将所述待探测网卡标记为FPGA加速卡。
9.一种电子设备,所述电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的FPGA加速卡探测方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的FPGA加速卡探测方法的步骤。
CN202111639518.6A 2021-12-30 2021-12-30 Fpga加速卡探测方法、装置、设备及计算机存储介质 Active CN114003251B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111639518.6A CN114003251B (zh) 2021-12-30 2021-12-30 Fpga加速卡探测方法、装置、设备及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111639518.6A CN114003251B (zh) 2021-12-30 2021-12-30 Fpga加速卡探测方法、装置、设备及计算机存储介质

Publications (2)

Publication Number Publication Date
CN114003251A true CN114003251A (zh) 2022-02-01
CN114003251B CN114003251B (zh) 2022-04-15

Family

ID=79932243

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111639518.6A Active CN114003251B (zh) 2021-12-30 2021-12-30 Fpga加速卡探测方法、装置、设备及计算机存储介质

Country Status (1)

Country Link
CN (1) CN114003251B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186440A (zh) * 2011-12-28 2013-07-03 中兴通讯股份有限公司 检测子卡在位的方法、装置及系统
WO2016095452A1 (zh) * 2014-12-15 2016-06-23 小米科技有限责任公司 固件刷新方法及装置
CN108965062A (zh) * 2018-08-07 2018-12-07 郑州云海信息技术有限公司 一种板载网卡的网口测试方法、装置、设备及存储介质
CN109101270A (zh) * 2018-08-31 2018-12-28 郑州云海信息技术有限公司 固件版本检查方法及装置、存储介质及电子设备
CN112272122A (zh) * 2020-10-14 2021-01-26 北京中科网威信息技术有限公司 Fpga加速卡检测方法、装置及可读存储介质
CN113688093A (zh) * 2021-08-24 2021-11-23 中电科申泰信息科技有限公司 一种基于以太网控制器的智能网卡

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186440A (zh) * 2011-12-28 2013-07-03 中兴通讯股份有限公司 检测子卡在位的方法、装置及系统
WO2016095452A1 (zh) * 2014-12-15 2016-06-23 小米科技有限责任公司 固件刷新方法及装置
CN108965062A (zh) * 2018-08-07 2018-12-07 郑州云海信息技术有限公司 一种板载网卡的网口测试方法、装置、设备及存储介质
CN109101270A (zh) * 2018-08-31 2018-12-28 郑州云海信息技术有限公司 固件版本检查方法及装置、存储介质及电子设备
CN112272122A (zh) * 2020-10-14 2021-01-26 北京中科网威信息技术有限公司 Fpga加速卡检测方法、装置及可读存储介质
CN113688093A (zh) * 2021-08-24 2021-11-23 中电科申泰信息科技有限公司 一种基于以太网控制器的智能网卡

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈森: "《图像质量评估算法及其应用研究》", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 *

Also Published As

Publication number Publication date
CN114003251B (zh) 2022-04-15

Similar Documents

Publication Publication Date Title
CN107832062B (zh) 一种程序更新方法及终端设备
CN107025362A (zh) 一种校验原理图和pcb生产数据一致性的方法
WO2018000607A1 (zh) 一种识别测试用例失败原因的方法及电子设备
US20070234127A1 (en) Methods and systems for automated testing of applications using an application independent GUI map
WO2018209958A1 (zh) 可升级文件的升级方法、机顶盒和存储介质
CN110750285B (zh) 固件升级方法、装置、计算机设备和存储介质
CN111651173A (zh) key码数据烧录方法、装置、终端设备和可读存储介质
WO2018188222A1 (zh) 一种a2l文件合并方法及装置
CN113867743A (zh) 网络操作系统加载烧录方法、装置、电子设备及存储介质
CN110278272B (zh) 模拟Socket请求的通用方法
CN114003251B (zh) Fpga加速卡探测方法、装置、设备及计算机存储介质
CN105988943B (zh) 一种驱动无线适配器的方法及装置
CN112799988A (zh) 虚拟串口与串口通讯板的绑定方法、设备及介质
CN114968864B (zh) 验证环境的搭建方法、芯片的验证方法及系统
CN111291068A (zh) 一种电子实验记录审计追踪状态的方法、装置和系统
US20160267172A1 (en) Constraint free model
CN116361220A (zh) PCIe拓扑获取方法及装置
CN113852610B (zh) 报文处理方法、装置、计算机设备和存储介质
US10331381B2 (en) Method and device for recording memory access operation information
CN112272122A (zh) Fpga加速卡检测方法、装置及可读存储介质
CN107203453B (zh) 一种设备视图的生成方法、装置及电子设备
CN112445187A (zh) 用于模拟工业工厂中的现场设备的系统和方法
CN109726101A (zh) 参数识别方法、参数识别终端、装置及可读存储介质
CN115903747B (zh) 一种数据标定方法、装置、设备及存储介质
CN112104766B (zh) 诊断协议重构方法、装置、终端设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant