帶你掌握如何使用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 年超越中國台灣,躍居全球最大半導體晶圓代....