带你掌握如何使用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博客_云计算博客_开发者中心-华为云

科技分类资讯推荐

全球媒体聚焦丨79%全球专利+80%市场份额!外媒从一场救援看中国无人机产业实力 - 天天要闻

全球媒体聚焦丨79%全球专利+80%市场份额!外媒从一场救援看中国无人机产业实力

近日,一段中国无人机在洪水中成功营救被困人员的短视频在海外社交平台广泛传播,多家国际媒体也竞相报道,并深入探讨中国无人机产业技术发展与创新应用。 《纽约时报》网站截图 据了解,这段短视频中的救援发生在广西柳州三江侗族自治县一村庄。受上游来水影响,这个村子里一些处于低洼地带的房屋被淹。由于水流上涨快,一...
博士天团攻坚激光芯片,拿到3个亿融资 - 天天要闻

博士天团攻坚激光芯片,拿到3个亿融资

记者|鄢子为编辑|陈晓平7月1日,北京飓芯科技对外官宣,完成3亿元B轮融资。飓芯成立于2017年7月,核心团队由多名经验丰富的博士组成,主攻氮化镓激光芯片产业化,实现关键核心器件的自主可控。本轮融资,飓芯获得国家基金、半导体产业方和一线投资机构的认可。3亿融资由深创投制造业转型升级新材料基金(国家制造业转型升...
臻宝科技科创板IPO获受理 系半导体零部件制造商 大基金二期等参投 - 天天要闻

臻宝科技科创板IPO获受理 系半导体零部件制造商 大基金二期等参投

《科创板日报》7月2日讯(记者 黄修眉 实习记者 戴嘉怡) 重庆臻宝科技股份有限公司(下称“臻宝科技”)科创板IPO申请近日获上交所受理,辅导机构为中信证券。臻宝科技是国内少数实现集成电路先进制程设备和高世代、高电压显示面板制造设备非金属零部件多品类供应、规模化量产的企业之一。此次IPO,臻宝科技拟募资13.98亿...
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 年超越中国台湾,跃居全球最大半导体晶圆代....