CN117149666A - Ai芯片平台及ai芯片平台的测试方法、装置及系统 - Google Patents
Ai芯片平台及ai芯片平台的测试方法、装置及系统 Download PDFInfo
- Publication number
- CN117149666A CN117149666A CN202311427466.5A CN202311427466A CN117149666A CN 117149666 A CN117149666 A CN 117149666A CN 202311427466 A CN202311427466 A CN 202311427466A CN 117149666 A CN117149666 A CN 117149666A
- Authority
- CN
- China
- Prior art keywords
- module
- chip
- peripheral
- platform
- chip platform
- 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.)
- Pending
Links
- 238000010998 test method Methods 0.000 title abstract description 8
- 230000002093 peripheral effect Effects 0.000 claims abstract description 109
- 238000012360 testing method Methods 0.000 claims abstract description 89
- 238000005457 optimization Methods 0.000 claims abstract description 19
- 238000013473 artificial intelligence Methods 0.000 claims abstract description 5
- 238000000034 method Methods 0.000 claims description 28
- 238000012545 processing Methods 0.000 claims description 7
- 238000011161 development Methods 0.000 abstract description 20
- 238000013461 design Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 8
- 230000006978 adaptation Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 241000347889 Debia Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods or tools to render software testable
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-oriented method invocation or resolution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种AI芯片平台及AI芯片平台的测试方法、装置及系统,涉及人工智能技术领域,其中,AI芯片平台包括:外设模块;AI芯片模块;系统软件模块,系统软件模块包括通用管理子模块、编译与优化子模块及硬件抽象子模块,通用管理子模块用于针对AI芯片模块进行通用系统资源管理及通用AI资源管理,并针对AI芯片模块及外设模块进行通用外设接口调用;编译与优化子模块用于针对AI芯片模块进行指令集优化及AI算力调度;硬件抽象子模块用于访问AI芯片模块和外设模块的硬件资源;应用软件模块,应用软件模块用于通过系统软件模块调用外设模块和AI芯片模块。本申请实施例能够提高开发效率。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种AI芯片平台及AI芯片平台的测试方法、装置及系统。
背景技术
随着人工智能(Artificial Intelligence,AI)技术的迅猛发展,市场上涌现了多种不同架构和规格的AI芯片平台,如图形处理单元(Graphic Processing Unit,GPU)、现场可编程门阵列(Field Programmable Gate Array,FPGA)及专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)等,不同的AI芯片平台在硬件结构、计算能力及功耗特性等方面存在差异,因此开发者在将AI应用程序移植到不同的芯片平台时面临着适配和优化的挑战。相关技术中,为了在不同AI芯片平台上运行相同的应用程序,开发者需要根据不同AI芯片平台的特性进行手动适配和优化,导致开发效率较低。
发明内容
本申请实施例提供一种AI芯片平台及AI芯片平台的测试方法、装置及系统,以解决现有开发者需要根据不同AI芯片平台的特性进行手动适配和优化,导致开发效率较低的问题。
为解决上述技术问题,本申请是这样实现的:
第一方面,本申请实施例提供了一种AI芯片平台,所述AI芯片平台包括:
外设模块;
AI芯片模块;
系统软件模块,所述系统软件模块包括通用管理子模块、编译与优化子模块及硬件抽象子模块,所述通用管理子模块用于针对所述AI芯片模块进行通用系统资源管理及通用AI资源管理,并针对所述AI芯片模块及所述外设模块进行通用外设接口调用;所述编译与优化子模块用于针对所述AI芯片模块进行指令集优化及AI算力调度;所述硬件抽象子模块用于访问所述AI芯片模块和所述外设模块的硬件资源;
应用软件模块,所述应用软件模块用于通过所述系统软件模块调用所述外设模块和所述AI芯片模块。
可选地,所述编译与优化子模块包括指令集优化子模块,所述指令集优化子模块具体用于:分析所述AI芯片模块的硬件特性和性能指标,生成针对所述AI芯片模块的优化代码,以进行指令集优化。
可选地,所述硬件抽象子模块包括AI算力调用SDK、外设调用SDK及第三方SDK,所述AI算力调用SDK用于调用所述AI芯片模块,所述外设调用SDK用于调用所述外设模块,所述第三方SDK用于调用第三方接口。
可选地,所述AI算力调用SDK用于将所述AI芯片模块的传感器接口抽象为统一的接口描述,以调用所述AI芯片模块。
可选地,所述AI算力调用SDK用于将所述AI芯片模块的硬件能力层次抽象为统一的能力描述,以调用所述AI芯片模块。
可选地,所述通用管理子模块包括内存接口、CPU接口以及AI算力使用状态接口,所述内存接口用于获取内存状态,所述CPU接口用于获取CPU状态,所述AI算力使用状态接口用于获取AI算力使用状态。
可选地,所述外设模块包括多个外设接口,所述多个外设接口按照预设规则排列,且所述多个外设接口的参数符合预设外设接口规范。
第二方面,本申请实施例提供了一种AI芯片平台的测试方法,所述方法包括:
对AI芯片平台进行测试;
其中,所述AI芯片平台为第一方面所述的AI芯片平台。
第三方面,本申请实施例提供了一种AI芯片平台的测试装置,所述测试装置包括:
测试模块,用于对所述AI芯片平台进行测试;
其中,所述AI芯片平台为第一方面所述的AI芯片平台。
第四方面,本申请实施例提供了一种AI芯片平台的测试系统,所述测试系统包括AI芯片平台的测试装置和AI芯片平台,所述AI芯片平台的测试装置为第三方面所述的AI芯片平台的测试装置,所述AI芯片平台为第一方面所述的AI芯片平台。
第五方面,本申请实施例提供一种AI芯片平台的测试装置,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现上述第二方面所述的方法的步骤。
第六方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述第二方面所述的方法的步骤。
在本申请实施例中,所述AI芯片平台包括:外设模块;AI芯片模块;系统软件模块,所述系统软件模块包括通用管理子模块、编译与优化子模块及硬件抽象子模块,所述通用管理子模块用于针对所述AI芯片模块进行通用系统资源管理及通用AI资源管理,并针对所述AI芯片模块及所述外设模块进行通用外设接口调用;所述编译与优化子模块用于针对所述AI芯片模块进行指令集优化及AI算力调度;所述硬件抽象子模块用于访问所述AI芯片模块和所述外设模块的硬件资源;应用软件模块,所述应用软件模块用于通过所述系统软件模块调用所述外设模块和所述AI芯片模块。这样,通过设计包括通用管理子模块、编译与优化子模块及硬件抽象子模块的系统软件模块,能够实现不同AI芯片模块的自动适配,从而能够提高开发效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种AI芯片平台的结构示意图之一;
图2是本申请实施例提供的一种AI芯片平台的结构示意图之二;
图3是本申请实施例提供的一种AI芯片平台的测试方法的流程图;
图4是本申请实施例提供的一种AI芯片平台的测试示意图;
图5是本申请实施例提供的一种AI芯片平台的测试装置的结构示意图;
图6是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
本申请实施例提供一种AI芯片平台及AI芯片平台的测试方法、装置及系统,以解决现有开发者需要根据不同AI芯片平台的特性进行手动适配和优化,导致开发效率较低的问题。
参见图1,图1是本申请实施例提供的一种AI芯片平台的结构示意图,如图1所示,所述AI芯片平台包括:
外设模块11;
AI芯片模块12;
系统软件模块13,所述系统软件模块13包括通用管理子模块、编译与优化子模块及硬件抽象子模块,所述通用管理子模块用于针对所述AI芯片模块12进行通用系统资源管理及通用AI资源管理,并针对所述AI芯片模块12及所述外设模块11进行通用外设接口调用;所述编译与优化子模块用于针对所述AI芯片模块12进行指令集优化及AI算力调度;所述硬件抽象子模块用于访问所述AI芯片模块12和所述外设模块11的硬件资源;
应用软件模块14,所述应用软件模块14用于通过所述系统软件模块13调用所述外设模块11和所述AI芯片模块12。
其中,如图2所示,所述外设模块可以包括多个外设接口。所述外设模块可以包括数字量输入(Digital Input,DI)接口,数字量输出(Digital Output,DO)接口,发光二极管(Light Emitting Diode,LED),RS232,RS485,看门狗(WatchDog),硬路由及存储接口等。
其中,所述AI芯片模块可以包括NX系列AI芯片模块,RK系列AI芯片模块,或其他AI芯片模块,本申请实施例对此不进行限定。所述NX系列AI芯片模块可以包括NVIDIA NX 芯片模块,NVIDIA AGX芯片模块等等。所述RK系列AI芯片模块,可以包括:RK3399pro芯片模块,RK3568 芯片模块,RK3588芯片模块等等。
需要说明的是,所述AI芯片模块可以是将算力平台进行模块化得到的AI芯片模块。所述AI芯片模块可以对外设硬件抽象,例如实现标准化化外设接口,统一接口排列布局及模块化设计,从而实现将算力平台看做一个模块进行模块化设计,实现标准化,并统一外设接口设计和排列布局。
其中,所述应用软件模块可以用于运行各种应用程序,例如,AI人脸检测程序,AI火灾检测程序,AI行人检测程序,路由配置程序,设备资源监测程序等,本申请实施例对此不进行限定。需要说明的是,应用软件模块可以调用所有类型的AI芯片模块或外设模块,包括未来可能设计的AI芯片模块或外设模块。
另外,编译与优化子模块是兼容多个AI芯片模块的AI芯片平台的系统架构设计中的重要一环,它可以根据不同硬件平台的特点和性能要求,生成优化的机器代码,以提高应用程序在各个AI芯片模块上的执行效率。
需要说明的是,所述编译与优化子模块可以包括AI算力调度子模块。不同的AI芯片模块提供的AI算力包括硬件编解码的调用指令,AI算力调度子模块可以通过结合厂家提供的应用程序接口(Application Program Interface,API),以及编译开关参数,调度AI芯片模块工作在最合适的状态,以获得最大AI资源及最快的处理速度。
其中,所述硬件抽象子模块可以实现软件对硬件抽象。硬件抽象子模块是兼容多个AI芯片模块的AI芯片平台的系统架构设计中的关键模块,硬件抽象子模块可以用于将不同AI芯片模块的硬件特性抽象成统一的硬件描述,从而使应用程序能够通过统一的硬件API来访问不同AI芯片模块的硬件资源。以下描述一些可以抽象的硬件特性:
(1)传感器接口抽象:如果涉及到与传感器的交互,可以将传感器接口抽象成统一的接口描述,使得应用程序可以统一访问不同AI芯片模块上的传感器数据,例如DI接口、DO接口、串口、485接口数据等。
(2)能力层次抽象:不同AI芯片模块上的硬件能力层次可能不同,可以将这些能力层次抽象成统一的能力描述,让应用程序可以查询和利用硬件的不同能力,例如AI算力抽象及硬路由抽象等。
另外,所述系统软件模块还可以包括操作系统,例如ubunut Debia操作系统。
本申请实施例通过系统软件模块实现了通用中间件层的设计,在系统架构中引入系统软件模块作为通用中间件层,作为应用程序与硬件之间的接口。该通用中间件层包括通用的API和抽象,能够将应用程序的逻辑与底层硬件特性分离开来,从而实现跨平台的兼容性。通用中间件层能够实现通用系统资源管理,通用外设调用接口及通用AI资源调度,针对不同类型的AI芯片模块或外设模块能够使用统一调用方法进行调用,从而向应用层屏蔽差异。
需要说明的是,通用中间件层的设计在系统架构中起到了关键作用,它作为应用程序与底层硬件之间的桥梁,能够有效地解决不同AI芯片模块与AI芯片平台之间的兼容性问题。具体的,可以通过通用中间件层进行通用系统资源管理,不同AI芯片模块的不同操作系统下,内存管理对内存使用率,中央处理器(Central Processing Unit,CPU)使用率,AI算力使用情况及网路状态等状态获取可能存在差异。通用中间件层可以提供统一的内存接口、CPU接口和 AI算力使用状态接口,能够屏蔽资源获取差异;还可以通过通用中间件层实现通用外设调用接口,不同AI芯片模块的硬件接口可能不同,如输入/输出(Input/Output,IO)接口、485接口、232接口、LED灯接口及看门狗接口等,通用中间件层可以设计抽象的硬件接口,将应用程序的硬件访问操作映射到不同AI芯片模块的硬件接口上;还可以通过通用中间件层进行通用AI资源调度,不同AI芯片模块的资源调度方式可能不同,特别是AI算力,采用通用中间件层可以实现统一的AI算力资源调度,根据不同AI芯片模块的资源特性进行动态调整。
本申请实施例可以显著提高AI芯片平台上软硬件开发效率和测试效率。本申请实施例通过引入通用中间件层和编译优化以及软件对硬件抽象,开发者可以编写一次应用程序代码,然后在不同平台上实现高效的适配和运行。同时,硬件抽象使得应用程序能够更轻松地访问不同平台的硬件资源,特别是AI算力,从而减少了开发以及测试的复杂性和工作量。
相关技术中,为了在不同AI芯片平台上运行相同的应用程序,开发者需要根据不同AI芯片平台的特性进行手动适配和优化,这不仅耗时耗力,而且限制了应用的灵活性和可扩展性。
本申请实施例解决了手动适配和优化的问题,减少了开发成本和时间。同时,通过编译优化和硬件描述抽象,实现了更高的应用程序性能,提升了用户体验。
本申请实施例能够实现支持不同的AI芯片方案和不同的算力卡的系统框架。本申请实施例通过引入中间件层、自动化优化、硬件抽象和外设接口统一等方式,解决了AI芯片平台之间的适配和优化问题,从而提高了开发效率、可维护性和应用性能。
本申请实施例实现了基于相同硬件接口和通用中间件层的支持不同AI芯片模块的AI芯片平台,测试系统软件硬件完全相同,可以更加高效、灵活、可靠地进行大规模测试任务,提高了测试效率和软件硬件质量。
需要说明的是,本申请实施例进行了模块化设计,将不同核心的设备设计为模块化结构,使得核心部分(例如AI芯片模块)和外设部分能够独立设计和组装。这样,不同的核心可以与相同的外设接口板进行组合,从而实现多样化的设备配置。
在本申请实施例中,所述AI芯片平台包括:外设模块;AI芯片模块;系统软件模块,所述系统软件模块包括通用管理子模块、编译与优化子模块及硬件抽象子模块,所述通用管理子模块用于针对所述AI芯片模块进行通用系统资源管理及通用AI资源管理,并针对所述AI芯片模块及所述外设模块进行通用外设接口调用;所述编译与优化子模块用于针对所述AI芯片模块进行指令集优化及AI算力调度;所述硬件抽象子模块用于访问所述AI芯片模块和所述外设模块的硬件资源;应用软件模块,所述应用软件模块用于通过所述系统软件模块调用所述外设模块和所述AI芯片模块。这样,通过设计包括通用管理子模块、编译与优化子模块及硬件抽象子模块的系统软件模块,能够实现不同AI芯片模块的自动适配,从而能够提高开发效率。
可选地,所述编译与优化子模块包括指令集优化子模块,所述指令集优化子模块具体用于:分析所述AI芯片模块的硬件特性和性能指标,生成针对所述AI芯片模块的优化代码,以进行指令集优化。
需要说明的是,不同AI芯片模块的指令集可能不同,某些指令在某个AI芯片模块上可能更高效。编译器配合正确的参数可以根据AI芯片模块的硬件平台的指令集特点,选择性地进行指令重排和替换,以生成更适合特定AI芯片模块的优化代码。
本申请实施例进行了编译与优化,根据当前运行的硬件平台,动态生成优化的机器代码。通过分析硬件特性和性能指标,生成针对特定平台的优化代码,以提高应用程序在该平台上的执行效率。
可选地,所述硬件抽象子模块包括AI算力调用软件开发工具包(SoftwareDevelopment Kit,SDK)、外设调用SDK及第三方SDK,所述AI算力调用SDK用于调用所述AI芯片模块,所述外设调用SDK用于调用所述外设模块,所述第三方SDK用于调用第三方接口。
本申请实施例通过软件对硬件抽象,将不同AI芯片平台的硬件特性抽象成统一的硬件描述,使得应用程序可以通过调用统一的硬件API来访问不同平台的硬件资源。这样,应用程序无需关心底层硬件的具体细节,实现了跨平台的兼容性。
可选地,所述AI算力调用SDK用于将所述AI芯片模块的传感器接口抽象为统一的接口描述,以调用所述AI芯片模块。
可选地,所述AI算力调用SDK用于将所述AI芯片模块的硬件能力层次抽象为统一的能力描述,以调用所述AI芯片模块。
可选地,所述通用管理子模块包括内存接口、CPU接口以及AI算力使用状态接口,所述内存接口用于获取内存状态,所述CPU接口用于获取CPU状态,所述AI算力使用状态接口用于获取AI算力使用状态。
需要说明的是,通过通用管理子模块进行通用系统资源管理,不同AI芯片模块的不同操作系统下,内存管理对内存使用率,CPU使用率,AI算力使用情况及网路状态等状态获取可能存在差异。通过通用管理子模块提供统一的内存接口、CPU接口和 AI算力使用状态接口,能够屏蔽资源获取差异。
可选地,所述外设模块包括多个外设接口,所述多个外设接口按照预设规则排列,且所述多个外设接口的参数符合预设外设接口规范。
其中,可以对外设模块进行外设接口硬件抽象。所述多个外设接口的参数符合预设外设接口规范,可以是指标准化外设接口,可以定义一套标准的外设接口规范,包括接口类型、接口信号定义、电气特性等,该标准的外设接口规范能够适用于多种不同AI芯片模块的设备,并且具有足够的灵活性,以适应不同的外设和应用场景。示例地,可以对232接口或485接口数量进行规定等。
另外,所述多个外设接口按照预设规则排列,可以是指统一外设接口排列布局,在硬件设计中,根据标准化的外设接口规范,将不同核心的结构方案的设备的外设接口进行统一排列布局。可以设计一个通用的连接器或接口板,将各种外设连接到相同的位置和信号引脚上。
需要说明的是,可以对外设硬件抽象,实现模块化设计,例如对无线模块及存储介质模块进行统一设计。
本申请实施例实现外设接口硬件抽象,不同核心的硬件方案往往需要针对每种不同的硬件进行独立的开发和适配工作,这会导致开发成本高、开发周期长、维护复杂等问题。本申请实施例旨在通过使用相同的外设接口布局、数量及排列,将不同核心平台方案的设备进行统一设计。
本申请实施例将不同核心结构方案的设备使用相同的外设接口排列,可以在硬件设计中带来诸多优点,包括降低开发成本、提高灵活性、简化维护、提升兼容性等,从而为多种不同核心的设备开发带来便利和效益。
本申请实施例提供了一种兼容不同AI芯片模块的AI芯片平台的系统架构设计,通过软件层面的适配与优化,实现在不同硬件平台上高效运行相同的AI应用程序,从而提高开发效率和应用性能。通过相同的外设硬件接口能够提升不同平台设备的可维护和兼容性。
本申请实施例还提供了一种AI芯片平台的运行方法,所述AI芯片平台包括:外设模块、AI芯片模块、系统软件模块及应用软件模块;所述系统软件模块包括通用管理子模块、编译与优化子模块及硬件抽象子模块;
所述方法包括:
所述通用管理子模块针对所述AI芯片模块进行通用系统资源管理及通用AI资源管理,并针对所述AI芯片模块及所述外设模块进行通用外设接口调用;
所述编译与优化子模块针对所述AI芯片模块进行指令集优化及AI算力调度;
所述硬件抽象子模块访问所述AI芯片模块和所述外设模块的硬件资源;
所述应用软件模块通过所述系统软件模块调用所述外设模块和所述AI芯片模块。
可选地,所述编译与优化子模块包括指令集优化子模块,所述方法还包括:
所述指令集优化子模块分析所述AI芯片模块的硬件特性和性能指标,生成针对所述AI芯片模块的优化代码,以进行指令集优化。
可选地,所述硬件抽象子模块包括AI算力调用SDK、外设调用SDK及第三方SDK,所述AI算力调用SDK用于调用所述AI芯片模块,所述外设调用SDK用于调用所述外设模块,所述第三方SDK用于调用第三方接口。
可选地,所述方法还包括:
所述AI算力调用SDK将所述AI芯片模块的传感器接口抽象为统一的接口描述,以调用所述AI芯片模块。
可选地,所述方法还包括:
所述AI算力调用SDK将所述AI芯片模块的硬件能力层次抽象为统一的能力描述,以调用所述AI芯片模块。
可选地,所述通用管理子模块包括内存接口、CPU接口以及AI算力使用状态接口,所述内存接口用于获取内存状态,所述CPU接口用于获取CPU状态,所述AI算力使用状态接口用于获取AI算力使用状态。
可选地,所述外设模块包括多个外设接口,所述多个外设接口按照预设规则排列,且所述多个外设接口的参数符合预设外设接口规范。
参见图3,图3是本申请实施例提供的一种AI芯片平台的测试方法的流程图,如图3所示,所述方法包括以下步骤:
步骤101、对AI芯片平台进行测试;
其中,所述AI芯片平台为图1所示的AI芯片平台。
本申请实施例还基于图1所示的AI芯片平台设计了统一测试方法,由于具有通用中间件层设计和完全一致的外设接口,能够使用相同的测试工装测试硬件,且能够使用相同的AI算法测试AI芯片,降低了测试难度、成本,且提高了测试效率,能够适应较多平台的大规模测试。
需要说明的是,如图4所示,可以设计一套测试工具和测试环境适应不同AI芯片模块的外设测试。由于外设接口一致,外设测试环境一致,可以用一套测试方案来测试所有类型设备。该测试工具可测试AI芯片平台的多种功能,示例地,可以进行硬路由测试,如通过外网和内网的多个以太网供电(Power over Ethernet,Poe)网络摄像头、网线以及可拔插的4G/5G模组进行硬路由测试;还可以进行基础IO测试,可以通过测试工装实现 CAN 485232 DIDO 测试环境,通过该测试工装进行基础IO测试;还可以进行存储介质测试,如测试安全数字(Secure Digital,SD)卡、U盘、可拔插硬盘等等;还可以进行通讯测试,如测试可拔插4G/5G模块;还可以进行扩展算力测试,如测试可拔插算力卡模块。
需要说明的是,可以通过一套测试软件测试不同AI芯片模块的算力和外设,不同AI芯片模块的芯片平台硬件,由于AI芯片模块不同,组成不同环境。由于连接相同的外设,可以通过一套基于中间层应用软件进行所有外设测试,从而对于不同AI芯片模块的芯片平台硬件,测试方法流程相同。
本申请实施例能够通过同一套测试工装件接到支持不同AI芯片模块的AI芯片平台上,用于硬路由测试、基础IO测试、存储测试、通讯测试及扩展算力测试等。
需要说明的是,可以通过视频流和图片进行AI算法测试,可以通过统一推流服务器获得相同视频流对不同AI芯片模块的AI芯片平台进行测试,并通过同一个文件服务器获取测试图片对不同AI芯片模块的AI芯片平台进行测试。
本申请实施例还提供了一种AI芯片平台的测试装置。请参照图5,图5是本申请实施例提供的一种AI芯片平台的测试装置的结构图。如图5示,AI芯片平台的测试装置包括:
测试模块201,用于对所述AI芯片平台进行测试;
其中,所述AI芯片平台为图1所示的AI芯片平台。
本申请实施例还提供了一种AI芯片平台的测试系统,所述测试系统包括AI芯片平台的测试装置和AI芯片平台,所述AI芯片平台的测试装置为图5所示的AI芯片平台的测试装置,所述AI芯片平台为图1所示的AI芯片平台。
本申请实施例实现外设接口统一设计,不同AI芯片方案模块化,外设与AI芯片接口统一;本申请实施例通过软件对硬件调度进行抽象形成SDK,优化编译,对下获得最佳性能,对上更好的集成到系统中间层;本申请实施例创建支持所有不同类型硬件调度SDK的中间层,对应用端提供通用系统资源管理、通用外设调用接口、通用AI资源调度;本申请实施例基于中间件和统一外设接口,能够通过一套软件测试所有AI芯片模块和相应外设。
本申请实施例可以显著提高AI芯片平台的软硬件开发效率和测试效率。通过引入通用中间件层、编译优化以及软件对硬件抽象,开发者可以编写一次应用程序代码,然后在不同AI芯片模块的AI芯片平台上实现高效的适配和运行。同时,硬件抽象使得应用程序能够更轻松地访问不同AI芯片模块的AI芯片平台的硬件资源,特别是AI算力,从而减少了开发以及测试的复杂性和工作量。本申请实施例将不同核心的结构方案的设备使用相同的外设接口排列,可以在硬件设计中带来诸多优点,包括降低开发成本、提高灵活性、简化维护、提升兼容性等,从而为多种不同核心的设备开发带来便利和效益。本申请实施例基于相同硬件接口和通用中间层的支持不同AI芯片模块的AI芯片平台,针对该AI芯片平台,测试系统软件硬件完全相同,可以更加高效、灵活、可靠地进行大规模测试任务,提高了测试效率和软件硬件质量。
本申请实施例还提供了一种电子设备。请参见图6,图6是本申请实施例提供的一种电子设备的结构图,如图6所示,所述电子设备包括:处理器300、存储器320及存储在所述存储器320上并可在所述处理器300上运行的程序或指令,处理器300,用于读取存储器320中的程序或指令;所述电子设备还包括总线接口和收发机310。
收发机310,用于在处理器300的控制下接收和发送数据。
其中,在图6中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器300代表的一个或多个处理器和存储器320代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机310可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器300负责管理总线架构和通常的处理,存储器320可以存储处理器300在执行操作时所使用的数据。
其中,处理器300,用于读取存储器320中的程序或指令,执行如下步骤:
对AI芯片平台进行测试;
其中,所述AI芯片平台为图1所示的AI芯片平台。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述图3所述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述图3所述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (10)
1.一种人工智能AI芯片平台,其特征在于,所述AI芯片平台包括:
外设模块;
AI芯片模块;
系统软件模块,所述系统软件模块包括通用管理子模块、编译与优化子模块及硬件抽象子模块,所述通用管理子模块用于针对所述AI芯片模块进行通用系统资源管理及通用AI资源管理,并针对所述AI芯片模块及所述外设模块进行通用外设接口调用;所述编译与优化子模块用于针对所述AI芯片模块进行指令集优化及AI算力调度;所述硬件抽象子模块用于访问所述AI芯片模块和所述外设模块的硬件资源;
应用软件模块,所述应用软件模块用于通过所述系统软件模块调用所述外设模块和所述AI芯片模块。
2.根据权利要求1所述的AI芯片平台,其特征在于,所述编译与优化子模块包括指令集优化子模块,所述指令集优化子模块具体用于:分析所述AI芯片模块的硬件特性和性能指标,生成针对所述AI芯片模块的优化代码,以进行指令集优化。
3.根据权利要求1所述的AI芯片平台,其特征在于,所述硬件抽象子模块包括AI算力调用软件开发工具包SDK、外设调用SDK及第三方SDK,所述AI算力调用SDK用于调用所述AI芯片模块,所述外设调用SDK用于调用所述外设模块,所述第三方SDK用于调用第三方接口。
4.根据权利要求3所述的AI芯片平台,其特征在于,所述AI算力调用SDK用于将所述AI芯片模块的传感器接口抽象为统一的接口描述,以调用所述AI芯片模块。
5.根据权利要求3所述的AI芯片平台,其特征在于,所述AI算力调用SDK用于将所述AI芯片模块的硬件能力层次抽象为统一的能力描述,以调用所述AI芯片模块。
6.根据权利要求1所述的AI芯片平台,其特征在于,所述通用管理子模块包括内存接口、中央处理器CPU接口以及AI算力使用状态接口,所述内存接口用于获取内存状态,所述CPU接口用于获取CPU状态,所述AI算力使用状态接口用于获取AI算力使用状态。
7.根据权利要求1所述的AI芯片平台,其特征在于,所述外设模块包括多个外设接口,所述多个外设接口按照预设规则排列,且所述多个外设接口的参数符合预设外设接口规范。
8.一种AI芯片平台的测试方法,其特征在于,所述方法包括:
对AI芯片平台进行测试;
其中,所述AI芯片平台为权利要求1至7中任一项所述的AI芯片平台。
9.一种AI芯片平台的测试装置,其特征在于,所述测试装置包括:
测试模块,用于对所述AI芯片平台进行测试;
其中,所述AI芯片平台为权利要求1至7中任一项所述的AI芯片平台。
10.一种AI芯片平台的测试系统,其特征在于,所述测试系统包括AI芯片平台的测试装置和AI芯片平台,所述AI芯片平台的测试装置为权利要求9所述的AI芯片平台的测试装置,所述AI芯片平台为权利要求1至7中任一项所述的AI芯片平台。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311427466.5A CN117149666A (zh) | 2023-10-31 | 2023-10-31 | Ai芯片平台及ai芯片平台的测试方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311427466.5A CN117149666A (zh) | 2023-10-31 | 2023-10-31 | Ai芯片平台及ai芯片平台的测试方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117149666A true CN117149666A (zh) | 2023-12-01 |
Family
ID=88899227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311427466.5A Pending CN117149666A (zh) | 2023-10-31 | 2023-10-31 | Ai芯片平台及ai芯片平台的测试方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117149666A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6298452B1 (en) * | 1999-02-05 | 2001-10-02 | Hewlett-Packard Company | Hardware test coverage using inter-chip event filtering in multi-chip simulations |
EP1372084A2 (en) * | 2002-05-31 | 2003-12-17 | Interuniversitair Microelektronica Centrum Vzw | Method for hardware-software multitasking on a reconfigurable computing platform |
CN101833494A (zh) * | 2010-05-06 | 2010-09-15 | 浪潮电子信息产业股份有限公司 | 一种硬件健康状态监控方法 |
CN104572162A (zh) * | 2014-03-21 | 2015-04-29 | 中电科技(北京)有限公司 | 一种基于龙芯手持式计算机的uefi固件实现方法 |
CN212084135U (zh) * | 2020-04-17 | 2020-12-04 | 贵州航天天马机电科技有限公司 | 一种基于国产fpga芯片的通用控制器 |
CN113434261A (zh) * | 2021-08-27 | 2021-09-24 | 阿里云计算有限公司 | 异构计算设备虚拟化方法及系统 |
CN114938322A (zh) * | 2022-07-22 | 2022-08-23 | 之江实验室 | 一种可编程网元编译系统和编译方法 |
-
2023
- 2023-10-31 CN CN202311427466.5A patent/CN117149666A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6298452B1 (en) * | 1999-02-05 | 2001-10-02 | Hewlett-Packard Company | Hardware test coverage using inter-chip event filtering in multi-chip simulations |
EP1372084A2 (en) * | 2002-05-31 | 2003-12-17 | Interuniversitair Microelektronica Centrum Vzw | Method for hardware-software multitasking on a reconfigurable computing platform |
CN101833494A (zh) * | 2010-05-06 | 2010-09-15 | 浪潮电子信息产业股份有限公司 | 一种硬件健康状态监控方法 |
CN104572162A (zh) * | 2014-03-21 | 2015-04-29 | 中电科技(北京)有限公司 | 一种基于龙芯手持式计算机的uefi固件实现方法 |
CN212084135U (zh) * | 2020-04-17 | 2020-12-04 | 贵州航天天马机电科技有限公司 | 一种基于国产fpga芯片的通用控制器 |
CN113434261A (zh) * | 2021-08-27 | 2021-09-24 | 阿里云计算有限公司 | 异构计算设备虚拟化方法及系统 |
CN114938322A (zh) * | 2022-07-22 | 2022-08-23 | 之江实验室 | 一种可编程网元编译系统和编译方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8495603B2 (en) | Generating an executable version of an application using a distributed compiler operating on a plurality of compute nodes | |
US8245210B2 (en) | Compile-time context for dynamically bound operations | |
US9607116B2 (en) | Distributed hardware device simulation | |
CN110088737A (zh) | 将并发程序转换为可部署在基于fpga的云基础设施上的硬件的综合路径 | |
US8516508B1 (en) | Automated application programming interface (API) generation | |
CN101344899B (zh) | 一种片上系统的仿真测试方法及仿真测试系统 | |
US9424010B2 (en) | Extraction of functional semantics and isolated dataflow from imperative object oriented languages | |
Cesário et al. | Colif: A design representation for application-specific multiprocessor SOCs | |
CN105975261B (zh) | 一种面向统一接口调用的运行时系统及运行方法 | |
CN104067225A (zh) | 对用于图形处理单元的具有相关联的纹理加载指令的控制流指令的判定 | |
CN111736954A (zh) | 多智能合约虚拟机实现方法、多智能合约虚拟机及系统 | |
CN101458633B (zh) | 通过脚本程序访问宿主程序的方法及其系统和装置 | |
CN104699518A (zh) | 一种基于微内核插件的万用抄表机适配器及其实现方法 | |
CN114911586A (zh) | 任务调度方法、装置及系统 | |
CN117149666A (zh) | Ai芯片平台及ai芯片平台的测试方法、装置及系统 | |
CN109597611B (zh) | 前端数据流控制组件开发系统、方法、设备及存储介质 | |
CN103631585A (zh) | 一种用于开发应用程序的方法及系统 | |
CN116841559A (zh) | 代码转换方法、装置、设备、介质和程序产品 | |
Hasanagić et al. | Code generation for distributed embedded systems with VDM-RT | |
Lee et al. | A New Integrated Software Development Environment Based on SDL, MSC, and CHILL for Large‐scale Switching Systems | |
CN112559336B (zh) | 自适应调试异构计算芯片的方法、装置、系统及主板芯片 | |
CN113778451B (zh) | 文件加载方法、装置、计算机系统和计算机可读存储介质 | |
US20210182041A1 (en) | Method and apparatus for enabling autonomous acceleration of dataflow ai applications | |
CN117591104B (zh) | 模型的生成方法、装置、电子设备及存储介质 | |
Currie et al. | PSoC Creator |
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 |