HcclGetRootInfo
产品支持情况
| 
          产品  | 
        
          是否支持  | 
       
|---|---|
| 
          | 
        
          √  | 
       
| 
          | 
        
          √  | 
       
| 
          | 
        
          x  | 
       
| 
          | 
        
          x  | 
       
| 
          | 
        
          √  | 
       
| 
          | 
        
          √  | 
       
| 
          | 
        
          x  | 
       
 
     针对
功能说明
此接口需要在HCCL初始化接口HcclCommInitRootInfo或HcclCommInitRootInfoConfig前调用,仅需在root节点调用,用于生成root节点的rank标识信息(HcclRootInfo)。
- 该接口需要和初始化接口HcclCommInitRootInfo或HcclCommInitRootInfoConfig接口配对使用,不能单独使用。
 
- 该接口支持单线程循环调用,即开发者可在一个for循环中通过“指定不同的Device + 调用此接口”,从而实现在一个线程中获取不同设备的rootInfo信息。
      
假设一个AI Server中有8张卡,8张卡分成4个通信域,每个通信域中的两张卡之间通信,如下图所示。
图1 通信域划分示例
      获取rootInfo信息并进行集合通信初始化的流程如图2所示。首先在一个线程中通过切换Device创建4个rootInfo信息,并存入一个长度为4的数组中。rootInfo信息获取完成后,起4个线程,分别调用HcclCommInitRootInfo或者HcclCommInitRootInfoConfig接口(图2中以HcclCommInitRootInfo接口示意)根据不同的rootInfo信息进行通信域初始化。
 - 多机集合通信场景,调用HcclGetRootInfo前,可以进行如下操作(非必选):
 
函数原型
          1
           | 
         
          HcclResult HcclGetRootInfo(HcclRootInfo *rootInfo)  | 
        
参数说明
| 
          参数名  | 
        
          输入/输出  | 
        
          描述  | 
       
|---|---|---|
| 
          rootInfo  | 
        
          输出  | 
        
          本rank的标识信息,主要包含device ip、device id等信息。此信息需广播至集群内所有rank用来进行HCCL初始化。 HcclRootInfo类型的定义可参见HcclRootInfo。  | 
       
返回值
HcclResult:接口成功返回HCCL_SUCCESS,其他失败。
约束说明
无
