硬件变更后适配
场景描述
仅TBE自定义算子存在硬件变更后需要适配的场景,AI CPU自定义算子不涉及,即AI CPU算子与昇腾AI处理器的型号无关。
硬件变更后适配,指开发者已实现了某种型号昇腾AI处理器的TBE自定义算子,当硬件变更后,需要重新针对新的昇腾AI处理器进行TBE自定义算子的适配。
例如,原来硬件的昇腾AI处理器型号为A,更换成的新硬件的昇腾AI处理器型号为B。
开发流程
硬件变更后适配场景下,开发者需要基于原有算子工程进行算子交付件的修改,假设CANN软件环境以及原有算子工程都已准备完毕,详细的适配流程如下所示:
图1 算子硬件适配开发流程
算子适配插件为将第三方框架算子映射为适配昇腾AI处理器的算子,与昇腾AI处理器型号无关,一般无需修改。
步骤 |
描述 |
参考 |
|
---|---|---|---|
算子开发准备 |
算子分析 |
不同昇腾AI处理器之间的主要差异为计算接口在昇腾AI处理器上支持的程度不同。包含:
具体需要根据算子实现中使用的每个计算接口进行详细的分析。 |
|
算子交付件适配开发 |
算子原型定义修改 |
根据算子分析出来的不同计算接口之间的差异,修改“算子原型定义”、若计算接口在不同的昇腾AI处理器间无差异,则此操作跳过。 |
|
算子代码实现修改 |
根据算子分析出来的不同计算接口之间的差异,修改“算子代码实现”文件,若计算接口在不同的昇腾AI处理器间无差异,则此操作跳过。 |
||
新增算子信息库 |
新增对应昇腾AI处理器的算子信息库。 算子信息库文件用于将算子的相关信息注册到算子信息库中,包括算子的输入输出dtype、format以及输入shape信息。 |
||
算子编译部署 |
编译自定义算子工程,生成自定义算子安装包并进行自定义算子包的安装,将自定义算子部署到算子库。 |
||
算子ST测试 |
系统测试(System Test),在真实的硬件环境中,验证算子的正确性。 |
||
算子网络测试 |
将自定义算子加载到网络模型中进行运行验证。 |
父主题: 选择算子开发场景