一种支持多GPU的计算型服务器的自动测试方法与流程

文档序号:11154762阅读:5064来源:国知局
一种支持多GPU的计算型服务器的自动测试方法与制造工艺

本发明涉及计算机软件开发领域,具体涉及一种支持多GPU的PCIE-SWITCH计算型服务器的自动检测方法,通过该方法对PCIE-SWITCH服务器进行测试,能够有效检测PCIE-SWITCH服务器存在的异常状况,可以减少人力、物力及流程管理的成本,提高测试覆盖率。



背景技术:

目前在整机柜服务器领域,大型高性能、计算型服务器(PCIE-SWITCH)支持16张235瓦功率的GPU(Graphic Processing Unit图形处理器),通过PCIE(总线和接口标准Peripheral Component Interface Express)retimer卡(时间修正卡)和Mini SAS HD高速线缆外接一台服务器server使用,此时PCIE-SWITCH相当于服务器server端的PCIE设备,测试时PCIE-SWITCH也需要与服务器server联合测试。因为PCIE-SWITCH最多可支持16张GPU卡,当搭配Nvidia的GPU,使用NVQual工具测试GPU时,测试项较多、每个测试项较长,故工作量极大。

针对上述问题,本申请发明了一种支持多GPU的PCIE-SWITCH计算型服务器的自动化测试方法,能够自动进行PCIE-SWITCH服务器搭配GPU进行减耗(Thermal)、PCI Express频带宽度(bandwidth)、服务器承受压力Stress的测试,大大提高工作效率,从而有效地解决上述工作量巨大的问题。整个测试流程测试方法操作简单,自动化程度高,实用性较强,能够节省人力,提高测试效率,是验证产品质量的非常有效的方法。



技术实现要素:

本发明是为提高计算型服务器(PCIE-SWITCH)自动化测试所做的。

本申请发明一种支持多GPU的PCIE-SWITCH计算型服务器的自动检测方法,该检测方法具体包括如下步骤:a、将PCIE-SWITCH服务器与server连接;b、开启PCIE-SWITCH服务器,1分钟后开启server;c、将测试主程序拷贝在server的操作系统下面;d、根据测试需求配置配置文件;e、运行测试主程序。

上述的自动检测方法,其特征还在于,是用MiniSASHD线缆将PCIE-SWITCH服务器与servet连接。所述的测试主程序具体包括如下步骤:

读取通过命令行输入的参数;

判断参数值,当参数值为f时,传递参数并读取配置文件;卸载操作系统自带的nvidia驱动,安装NVQual测试程序,并启动该测试程序进行GPU测试;

当参数值为h时,显示帮助信息;

当参数值为v时,显示版本信息;

当参数值为h、v、f以外的值时,显示错误信息。

上述的自动检测方法,其特征在于,所述的NVQual测试程序,具体包括以下步骤:

读取用户设置的减耗循环检测参数,根据用户设定的检测次数,对GPU进行thermal循环检测。

所述的NVQual测试程序,还包括以下步骤:

读取用户设置的序号参数,如果该参数为序号,则根据用户设定的序号,对该序号的GPU进行qualification测试;如果该参数为“all”,则对所有的GPU进行qualification测试。

所述的NVQual测试程序,还包括以下步骤:

读取用户设置的带宽参数,如果该参数为序号,则根据用户设定的序号,对该序号的GPU进行bandwidth的测试;如果该参数为“all”,则对所有的GPU进行bandwidth测试。

所述的NVQual测试程序,还包括以下步骤:

读取用户设置的压力循环检测参数,根据用户设定的检测次数,对GPU进行stress循环检测。

所述的NVQual测试程序,减耗循环检测参数可以设置成循环测试10个小时。

所述的NVQual测试程序,压力循环检测参数可以设置成循环测试12个小时。

上述的测试主程序结束后,收集日志信息,如果日志记录错误信息,则重新检测或者诊断故障原因。

附图说明

图1、测试主程序mian函数流程图

图2、NVQual测试程序流程图

具体实施方式

下面对本发明的内容进行更加详细的阐述:

发明主要包括四部分,第一部分为测试程序main函数的流程图,第二部分为NVQual测试程序流程图,第三部分为部分代码详解,最后一部分为使用说明。

1、测试主程序main函数

如图1所示,测试主程序在开始执行的时候根据命令行加入的参数,执行不同的函数。如输入“-h”参数,则show_usage函数会打印出“帮助信息”,指导该程序的使用者使用该程序;“-v”参数,会调用show_version函数,打印出程序的版本信息,有助于使用者了解测试程序的变更记录;“-f”参数后面需要加上“config.file”,程序读取到-f参数后,会读取“config.file”文件的内容保存到变量中,之后程序卸载os自带nvidia的GPU驱动,安装NVQual测试程序,最后程序会根据config.file的配置参数去执行后续测试项;

2、NVQual测试程序

如图2所示,NVQual测试程序开始时,依据图1中“读取配置参数文件”步骤从config.file中读取到的配置信息进行判断,来决策进行不同的测试。

config.file文件格式及内容如下:

NVQual_path=/root/nvidia/NVQual-P2081-K40_v07

#1.Thermal Qualification Test

loops=3

#2.PCI Express Qualification Test

loops=1

gpu=0

#3.PCI Express Bandwidth Test

loops=1

gpu=all

#4.Stress Test

loops=3

该文件中,以#开始的行,表示注释信息,用于解释文件中的内容,不会被程序读取,与测试无关;该文件的主要信息为不以#开头的5行信息,分别表示测试工具路径及具体测试项的测试配置信息;

#1.Thermal Qualification Test

loops=3

该loops=3的信息被传递给loops_thermal变量,如果该项信息为空,表示不进行该项测试,直接进入下一项测试;如果有具体的值,则该值传递给thermal.exp程序,控制测试loop数;

#2.PCI Express Qualification Test

loops=1 #设置PCI Express Qualification Test test loop数

gpu=0 #设置参与PCI Express Qualification Test test的GPU序号

该项信息中,loops=1为该项测试的loop数,gpu=0为进行测试的GPU序号;如loops值为空,则不进行该项测试,如gpu值为“all”,则表示测试所有GPU,loops的值与gpu的值一起传递给qualification.exp程序,控制程序运行;

#3.PCI Express Bandwidth Test

loops=1

gpu=all

该项信息中,loops=1为该项测试的loop数,gpu=all为进行测试的GPU序号,all表示所有GPU均进行测试;如loops值为空,则不进行该项测试,如loops有具体值,则和gpu的值一起传递给bandwidth.exp程序,控制程序运行;

#4.Stress Test

loops=3

该项信息中,loops=3为该项测试的loop数,如loops值为空,则不进行该项测试,如loops有具体值,则和gpu的值一起传递给stress.exp程序,控制程序运行;

3、部分代码如下:

图1相关代码

图2相关代码:

程序可以用C++语言写,或其他语言。

4、使用方法

a、把一台PCIE-SWITCH服务器与server用MiniSASHD线缆连接起来,开启PCIE-SWITCH服务器,1分钟后开启server;

b、拷贝NVQualtest_0.2文件夹及NVQual-P2081-K40-v07测试工具到server端os下

c、根据测试需求配置config.file,主要包括NVQual-P2081-K40-v07工具目录、各项测试的loop数及对应的GPU序号;

d、执行“./NVQualtest.sh-f config.file”命令,四项测试的时间分别为10h、1.5h、1.5h、12h,共计等待25h,测试结束后收集测试log即可,中间无需人工干预测试过程;

本发明实现了PCIE-SWITCH服务器搭配GPU进行bandwidth、thermal、stress、qualification test的自动化测试,整个测试流程测试方法操作简单,自动化程度高,实用性较强,能够节省人力,提高测试效率,是验证产品质量的非常有效的方法。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1