带你掌握如何使用CANN 算子ST测试工具msopst

2022年10月02日02:59:20 科技 1107

本文分享自华为云社区《带你掌握如何使用CANN 算子ST测试工具msopst - 天天要闻

总体使用流程

自定义算子部署到OPP算子库后,开发者可使用msopst工具验证算子在升腾AI处理器上执行的正确性,总体流程较简单,如下所示:

带你掌握如何使用CANN 算子ST测试工具msopst - 天天要闻

下面我们分别介绍以上每一个步骤是干什么的?该如何做?

生成测试用例定义文件

测试用例定义文件,顾名思义,就是用来生成测试用例的,其内容包含了测试用例所需的基本信息,例如:测试用例名称,所要测试的算子类型,算子的输入输出描述信息(形状、数据类型、数据排布格式等)、算子属性相关信息(包含属性名称、类型、属性值)、数据生成算法等。以Add算子为例,通过msopst工具生成测试用例定义文件的命令如下:

带你掌握如何使用CANN 算子ST测试工具msopst - 天天要闻

上述命令执行完成后,会在当前路径的output目录下生成Add算子的测试用例定义文件:Add_case_{timestamp}.json。

当然,您也可以不使用msopst create命令,直接拷贝已有算子的测试用例定义文件进行修改亦可,使用算子信息库生成的优势是会自动填充测试用例定义文件中的相关字段,例如case_name,op,input_desc与output_desc中的name、format、type等。OpType_case_xxx.json文件的模板如下:

带你掌握如何使用CANN 算子ST测试工具msopst - 天天要闻

配置测试用例定义文件

测试用例定义文件的配置为整个ST测试流程的核心,直接决定了生成的测试用例个数、数据生成算法、测试覆盖率等,下面描述测试用例定义文件的参数含义及配置方法。

输入输出描述配置

输入输出描述信息包含的关键配置如下表所示:

带你掌握如何使用CANN 算子ST测试工具msopst - 天天要闻

测试用例采用将以上配置进行正交组合的方式生成,如下图所示,format取值为[“ND”,“NCHW”, “NHWC”];type的取值为[“int32”,“float32”];shape的取值范围为[32,16];data_distribute的取值为[“uniform”],value_range的取值为[0.1, 1.0],则生成的测试用例个数为 3 * 2 * 1 * 1 * 1 = 6。

带你掌握如何使用CANN 算子ST测试工具msopst - 天天要闻

算子属性配置

若算子包含属性,还需要配置如下表所示参数:

带你掌握如何使用CANN 算子ST测试工具msopst - 天天要闻

大批量生成测试用例

若开发者需要生成大量测试用例,可利用fuzz测试参数生成脚本辅助生成,并在测试用例定义文件( *.json )中配置fuzz脚本路径、所需生成的测试用例数目,同时输入输出描述中相关参数的取值配置为“fuzz”。操作步骤示例如下:

1、配置fuzz测试参数生成脚本,假设脚本命名“fuzz_shape.py”,实现如下所示:

带你掌握如何使用CANN 算子ST测试工具msopst - 天天要闻

2、配置测试用例定义文件;

3、在测试用例定义文件(*.json)中配置fuzz测试参数生成脚本的路径,所需生成的测试用例个数,并将需要自动生成的字段配置为固定值“fuzz”,如下所示:

带你掌握如何使用CANN 算子ST测试工具msopst - 天天要闻

定义期望数据生成函数

若用户需要得到实际输出与期望输出的比对结果,可使用Python语言自定义实现期望数据生成函数,并在ST测试用例定义文件中增加此函数入口。例如,Add算子的期望数据生成函数为“/home/test/test_add.py”,实现如下所示:

带你掌握如何使用CANN 算子ST测试工具msopst - 天天要闻

然后在ST测试用例定义文件中增加“calc_expect_func_file”参数,配置为“期望数据生成函数的文件:函数名”,如下所示:

带你掌握如何使用CANN 算子ST测试工具msopst - 天天要闻

生成并执行测试用例

配置完相关环境变量后,您就可以通过如下命令执行ST测试用例:

带你掌握如何使用CANN 算子ST测试工具msopst - 天天要闻

查看执行结果

ST测试用例执行完后,您可以通过打屏信息查看用例执行结果,若下所示,共运行9个用例,9个用例全部执行成功。

带你掌握如何使用CANN 算子ST测试工具msopst - 天天要闻

开发者也可以查看生成的报表“st_report.json”,此报表中记录了测试结果及各阶段的运行情况,ST测试用例运行异常时,可以基于此信息进行问题定位。

带你掌握如何使用CANN 算子ST测试工具msopst - 天天要闻

至此,ST测试工具“msopst”的使用全流程已介绍完毕,您是否对此工具有了初步的认知呢?若您需要进行自定义算子的开发,别忘了使用此工具进行算子的ST测试噢~关于此工具的更多使用样例,可参见升腾社区中的《TBE自定义算子开发指南》或《AI CPU自定义算子开发指南》。

https://www.hiascend.com/document?tag=community-developer

带你掌握如何使用CANN 算子ST测试工具msopst - 天天要闻

升腾CANN文档中心致力于为开发者提供更优质的内容和更便捷的开发体验,助力CANN开发者共建AI生态。任何意见和建议都可以在升腾社区反馈,您的每一份关注都是我们前进的动力。

点击下方,第一时间了解华为云新鲜技术~

华为云博客_大数据博客_AI博客_云计算博客_开发者中心-华为云

科技分类资讯推荐

BW2025即将开展,技嘉AORUS雕妹约你3H|3A08 雕宅见 - 天天要闻

BW2025即将开展,技嘉AORUS雕妹约你3H|3A08 雕宅见

史上规模空前的BilibiliWorld2025将于2025年7月11日-13日在上海国家会展中心开展!知名电竞硬件品牌技嘉AORUS已确认参展,为玩家打造游戏盛宴。现场不仅能体验新款硬核电竞装备、畅玩热门游戏大作,参与激烈的1V1对战PK,更有甜辣萌趣的雕妹喊你3H|3A08等你来!多重互动火力全开,带你玩转整个BW,开启今夏最燃电竞狂欢。...
35项服务可跨境办理,“澳政易”自助服务机上线珠海市民服务中心 - 天天要闻

35项服务可跨境办理,“澳政易”自助服务机上线珠海市民服务中心

“十几分钟就办完了,现场的协助人员指导我操作,太方便了!”7月1日上午,澳门居民梁女士来到珠海市民服务中心1号楼3楼的综合服务厅办理业务,在工作人员的帮助下,她在港澳跨境服务自助办理区的“澳政易”自助服务机上很快就办完了身份证明业务。6月30日,广州、珠海、中山、江门四个大湾区城市的政务服务中心正式启用了...
65亿美元芯片收购案,遭美国二次调查 - 天天要闻

65亿美元芯片收购案,遭美国二次调查

本文由半导体产业纵横(ID:ICVIEWS)综合 美国FTC对软银收购Ampere展开深度调查。 据知情人士透露,美国联邦贸易委员会就软银拟收购 Arm 服务器处理器厂商Ampe....
DRAM市场,将创新高 - 天天要闻

DRAM市场,将创新高

本文由半导体产业纵横(ID:ICVIEWS)综合 传统通用型DRAM和服务器高价值DRAM量价齐升双重驱动,2025年DRAM市场有望创新高。 根据CFM最新报告显示,2025年....
国产晶圆代工,市场巨变! - 天天要闻

国产晶圆代工,市场巨变!

未来十年,将是晶圆代工业的关键转折期。 这一判断,在近期一组数据中得到了清晰印证。根据 Yole Group 的最新报告,中国大陆有望在 2030 年超越中国台湾,跃居全球最大半导体晶圆代....
像卖车一样卖机器人?机器人体验店迎来爆发潮 - 天天要闻

像卖车一样卖机器人?机器人体验店迎来爆发潮

变现是目前人形机器人最大的问题。为了提高销量,更快形成社会氛围,拉动人才集中,业内诞生出多个全新思路。其中,集中展示4S店以及比赛,无疑是近期人形机器人行业关注的焦点。本文盘点了近日出现的4S店新模式▍具微科技(机器人4S店)6月30日,杭州迎来全国首家具身智能机器人4S店的开业。这个由具微科技打造的具身智能...
79元,小米刚上架的这服务,真的太爽啦 - 天天要闻

79元,小米刚上架的这服务,真的太爽啦

虽然今天比较受关注的,是小米1999元/月租金的“小米青年公寓”。但机哥还是想提醒一波。手持小米老机型的机友们,要是电池健康度已经掉了很多、又或是觉得手机续航不太够用。可别错过小米今天开启的“七月服务周”活动。活动时间是7月1日10点-7月
“全球Z世代创未来”:“上海·未来城市”全球创意作品征集 - 天天要闻

“全球Z世代创未来”:“上海·未来城市”全球创意作品征集

上海的未来是什么样子?让青年人来说,才算数。无论你来自哪里,带着怎样的故事,都能在这座城市找到属于自己的归属感。只因上海,从来不只是一座城,更是无数梦想的交汇点。用年轻的方式,去看见这座城市的无限可能吧。一则视频,一张照片,一幅插画,甚至是一行代码……你的创意,将成为链接世界的桥梁;你的表达,将定义...