comm.h 1 KB
Newer Older
lishen's avatar
lishen committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#pragma once

#include <stdint.h>
#include "base.h"
#include "topo.h"

namespace sccl {
namespace hardware {

// 定义结构体 scclUniqueInfo,用于存储每个通信节点的信息
struct scclUniqueInfo {
    int rank;       // 当前节点的全局排名
    int nRanks;     // 总的节点数量
    int localRank;  // 当前节点在本地计算节点中的排名
    int localRanks; // 本地计算节点中的节点总数

    int cudaDev;       // CUDA 设备 ID
    int gdrSupport;    // 是否支持 GPU 直接注册 (GDR)
    uint64_t hostHash; // 主机哈希值
    uint64_t pidHash;  // 进程 ID 哈希值
    int64_t busId;     // 总线 ID
};

// // 定义结构体 scclCommBase,用于存储通信基础信息
// struct scclCommBase {
//     struct scclUniqueInfo* peerInfo;           // 指向 peerInfo 结构体的指针,存储所有节点的信息
//     sccl::hardware::net::scclNet_t* scclNet; // 指向网络结构体的指针,用于网络通信
// };

} // namespace hardware
} // namespace sccl