本发明涉及软件测试,具体涉及用于高性能计算场景的测试领域,尤其涉及一种面向异构gpu机间直接通信的自动化测试系统和方法。
背景技术:
1、大模型训练是人工智能领域中的一个重要研究方向,涉及到构建和优化参数量级庞大的神经网络模型。大模型和大规模的卷积神经网络能够在图像识别、自然语言处理、语音识别等多个领域展现出卓越的性能。gpu作为一种专门为图形渲染设计的处理器,拥有大量的计算核心,也以其并行处理能力成为深度学习和其他高性能计算任务的理想选择。在模型训练及其他高性能计算场景中,不同节点gpu间的通信是不可或缺的一环。gpu远程直接内存访问(gpu direct rdma,gdr)可以让使用pcie标准的gpu和第三方设备进行直接的数据交换,而不涉及cpu。传统上,当数据需要在gpu和另一个设备之间传输时,数据必须通过cpu,从而导致潜在的瓶颈并增加延迟。使用gpu direct rdma,网络适配器和存储驱动器可以直接读写gpu内存,减少不必要的内存消耗,减少cpu开销并降低延迟,从而显著提高性能。当前网络通信已经成为分布式机器学习的性能瓶颈,gdr技术对提高gpu机器间通信性能至关重要。
2、然而,针对异构gpu环境下gdr通信的测试,现有技术存在诸多局限性。首先,测试过程的环境复杂性较高,由于异构gpu环境涉及到多种硬件架构和软件栈,导致在进行gdr通信测试时,需要考虑的因素繁多,如设备兼容性、驱动配置、网络拓扑等,使得测试流程变得繁琐且难以管理。其次,现有技术的测试效率低下,由于缺乏统一的测试框架和自动化工具,而分布式集群规模一般较大,导致整个测试周期长,难以快速定位通信问题,从而影响整个系统的环境检测和性能优化。
3、此外,人工干预过多也是现有技术的一大局限,测试过程中需要专业人员对各种参数进行调整和优化,这不仅增加了人力成本,还容易因人为因素导致测试结果的误差。因此,为了克服这些局限性,亟需一种更为高效、自动化且易于管理的面向异构gpu机器间的gdr通信测试方法。通过自动化测试,可以快速、准确地评估异构gdr系统在不同配置下的表现,并及时发现和解决问题。
技术实现思路
1、针对现有技术的不足,本发明的目的在于提供一种面向异构gpu机间直接通信的自动化测试系统和方法。
2、本发明的目的是通过以下技术方案来实现的:一种面向异构gpu机间直接通信的自动化测试方法,包括以下步骤:
3、输入测试请求,定义测试参数;所述测试参数包括异构集群中机器的gpu型号、网络配置参数、以及gpu runtime内存管理相关函数名称和头文件路径;
4、接收并解析所述测试请求和测试参数,根据测试请求的内容实时信息检测并更新相关参数到配置数据库,所述相关参数包括测试用例、机器设备信息、网络参数;
5、根据由配置数据库检索到的最新测试配置,调用网络接口模块进行预处理,完成软件栈环境和网络环境检测;在指定的异构或同构机器的gpu设备间执行gpu direct rdma性能测试用例,确保按照预定的测试参数进行;
6、在测试执行过程中,实时收集gpu direct rdma的性能测试数据;对所述性能测试数据进行处理和分析,根据配置数据库中存储的预测测试结果关键信息与所述性能测试数据进行比较,以确定测试是否达到预期性能标准;关键信息比如性能数据中所测最高带宽应达网卡理论速率的95%;
7、根据结果分析器的分析结果,创建详细的测试报告,所述测试报告包括测试概要、性能数据、结果对比。
8、进一步地,所述输入测试请求,定义测试参数包括:选择不同的测试场景,所述测试场景包括单次传输测试、持续传输测试或压力测试。
9、进一步地,所述解析所述测试请求和测试参数包括:解析用户界面的输入参数,更新配置数据库模块,查询配置数据库中的数据,启动测试执行器,以及在完成测试后的测试报告获取。
10、进一步地,所述预处理后,自动生成gdr测试代码,如在开源通用perftest仓库代码的基础上,注入指定gpu的内存管理代码,注入编译条件后生成可执行程序。
11、进一步地,所述性能测试数据包括传输速率、延迟、带宽等关键性能指标。
12、本发明还提供了一种面向异构gpu机间直接通信的自动化测试系统,所述系统包括如下模块:
13、用户界面模块:用于接收用户配置参数,下发参数配置和测试命令请求;
14、测试管理器组件模块:用于解析用户界面输入,读写配置数据库模块,启动测试执行器和查询结果报告;
15、配置数据库模块:用于存储异构gdr测试机器gpu内存管理信息和网络参数信息;
16、测试执行器模块:用于调度网络接口预处理,自动生成gdr测试代码,启动性能测试和实时收集测试数据;
17、网络接口模块:用于软件栈和驱动检测,ib适配器发现,链路检查和网络配置验证;
18、结果分析器模块:用于对测试结果数据的阈值比较,异常检测和性能分析;
19、报告生成器模块:用于统计异常信息,比较数据和性能数据,生成完整报告。
20、进一步地,所述测试管理器组件模块还用于读写配置数据库模块,启动测试执行器和查询结果报告。
21、进一步地,所述配置数据库模块还用于存储测试用例、异构机器的gpu设备runtime信息、rdma网络参数配置信息以及预期测试结果关键信息。
22、进一步地,所述测试执行器模块支持多种异构gpu direct rdma测试场景,具备实时检测和异常处理机制。
23、进一步地,所述报告生成器模块生成的完整报告包括测试概要、性能数据、问题诊断。
24、本发明的有益效果在于:通过优化测试流程和自动化管理,显著提高了异构gdr测试效率和准确性。减少了人工干预,降低了测试过程的复杂性和错误率,从而加快了集群组建时间。同时,该方法通过细化的测试步骤和实时数据收集,能够更精确地诊断和定位系统高网通信性能瓶颈,为高性能计算系统的优化提供了强有力的技术支持。此外,本发明有助于提升数据中心和超级计算领域的网络通信性能,降低运营成本,并为系统的可靠性和稳定性提供保障。
1.一种面向异构gpu机间直接通信的自动化测试方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的面向异构gpu机间直接通信的自动化测试方法,其特征在于,所述输入测试请求,定义测试参数包括:选择不同的测试场景,所述测试场景包括单次传输测试、持续传输测试或压力测试。
3.根据权利要求1所述的面向异构gpu机间直接通信的自动化测试方法,其特征在于,所述解析所述测试请求和测试参数包括:解析用户界面的输入参数, 更新配置数据库模块,查询配置数据库中的数据,启动测试执行器,以及在完成测试后的测试报告获取。
4.根据权利要求1所述的面向异构gpu机间直接通信的自动化测试方法,其特征在于,所述预处理后,生成gdr测试代码。
5.根据权利要求1所述的面向异构gpu机间直接通信的自动化测试方法,其特征在于,所述性能测试数据包括传输速率、延迟、带宽。
6.一种面向异构gpu机间直接通信的自动化测试系统,其特征在于,包括如下模块:
7.根据权利要求6所述的面向异构gpu机间直接通信的自动化测试系统,其特征在于,所述测试管理器组件模块还用于读写配置数据库模块,启动测试执行器和查询结果报告。
8.根据权利要求6所述的面向异构gpu机间直接通信的自动化测试系统,其特征在于,所述配置数据库模块还用于存储测试用例、异构机器的gpu设备runtime信息、rdma网络参数配置信息以及预期测试结果关键信息。
9.根据权利要求6所述的面向异构gpu机间直接通信的自动化测试系统,其特征在于,所述测试执行器模块支持多种异构gpu direct rdma测试场景,具备实时检测和异常处理机制。
10.根据权利要求6所述的面向异构gpu机间直接通信的自动化测试系统,其特征在于,所述报告生成器模块生成的完整报告包括测试概要、性能数据、问题诊断。