HcclServerType【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit功能说明配置HCCL的服务端类型。函数原型void HcclServerType(enum HcclServerType type, const char *socnullptr)参数说明参数输入/输出说明type输入HCCL的服务端类型类型为HcclServerType枚举类定义如下namespace ops{ enum HcclServerType : uint32_t { AICPU 0, // AI CPU服务端 AICORE, // AI Core服务端 CCU, // CCU服务端仅在AI处理器包含CCU单元时支持 MAX // 预留参数不支持使用 }; }soc输入AI处理器型号。为该型号配置服务端类型。可选参数nullptr或者表示为算子支持的所有型号配置服务端类型。soc取值需确保在算子支持的AI处理器型号范围内即已经调用AddConfig接口注册。填写规则请参考算子工程目录下编译配置项文件CMakePresets.json中的ASCEND_COMPUTE_UNIT字段该字段取值在使用msOpGen创建工程时自动生成。约束说明使用该接口前算子需要先通过MC2接口注册该算子是通算融合算子注册后即返回一个OpMC2Def结构。同时为特定AI处理器型号和所有AI处理器型号配置服务端类型时特定AI处理器型号配置的优先级更高。调用示例class MC2Custom : public OpDef { public: MC2Custom(const char* name) : OpDef(name) { this-Input(x).ParamType(REQUIRED).DataType({ge::DT_FLOAT}).Format({ge::FORMAT_ND}); this-Input(y).ParamType(REQUIRED).DataType({ge::DT_FLOAT}).Format({ge::FORMAT_ND}); this-Output(z).ParamType(REQUIRED).DataType({ge::DT_FLOAT}).Format({ge::FORMAT_ND}); this-Attr(group).AttrType(REQUIRED).String(); this-AICore().AddConfig(ascendxxx1); this-AICore().AddConfig(ascendxxx2); this-MC2().HcclGroup(group); // 配置通信域名称为group this-MC2().HcclServerType(HcclServerType::AICPU, ascendxxx1); // 配置ascendxxx1型号的通信模式为AI CPU this-MC2().HcclServerType(HcclServerType::AICORE); // 配置其他型号即ascendxxx2的通信模式为AI Core } }; OP_ADD(MC2Custom);【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考