@@ -12,11 +12,53 @@ static ncclProfiler_t ncclProfiler;
1212static ncclProfiler_v2_t* ncclProfiler_v2;
1313
1414static ncclResult_t ncclProfiler_startEvent (void * context, void ** eHandle, ncclProfilerEventDescr_t* eDescr) {
15- if (eDescr->type == ncclProfileKernelCh || eDescr->type == ncclProfileNetPlugin) {
16- *eHandle = NULL ;
17- return ncclSuccess;
15+ *eHandle = nullptr ;
16+ ncclProfilerEventDescr_v2_t eDescr_v2 = { };
17+ eDescr_v2.type = eDescr->type ;
18+ eDescr_v2.parentObj = eDescr->parentObj ;
19+ eDescr_v2.rank = eDescr->rank ;
20+ switch (eDescr->type ) {
21+ case ncclProfileGroup: break ;
22+ case ncclProfileColl: {
23+ eDescr_v2.coll .name = eDescr->coll .name ;
24+ eDescr_v2.coll .commHash = eDescr->coll .commHash ;
25+ eDescr_v2.coll .seqNumber = eDescr->coll .seqNumber ;
26+ eDescr_v2.coll .func = eDescr->coll .func ;
27+ eDescr_v2.coll .sendBuff = eDescr->coll .sendBuff ;
28+ eDescr_v2.coll .recvBuff = eDescr->coll .recvBuff ;
29+ eDescr_v2.coll .count = eDescr->coll .count ;
30+ eDescr_v2.coll .root = eDescr->coll .root ;
31+ eDescr_v2.coll .datatype = eDescr->coll .datatype ;
32+ eDescr_v2.coll .trafficBytes = 0 ; // removed in v3
33+ eDescr_v2.coll .nMaxChannels = eDescr->coll .nMaxChannels ;
34+ eDescr_v2.coll .nWarps = eDescr->coll .nWarps ;
35+ eDescr_v2.coll .algo = eDescr->coll .algo ;
36+ eDescr_v2.coll .proto = eDescr->coll .proto ;
37+ } break ;
38+ case ncclProfileP2p: {
39+ eDescr_v2.p2p .name = eDescr->p2p .name ;
40+ eDescr_v2.p2p .commHash = eDescr->p2p .commHash ;
41+ eDescr_v2.p2p .func = eDescr->p2p .func ;
42+ eDescr_v2.p2p .buff = eDescr->p2p .buff ;
43+ eDescr_v2.p2p .count = eDescr->p2p .count ;
44+ eDescr_v2.p2p .datatype = eDescr->p2p .datatype ;
45+ eDescr_v2.p2p .peer = eDescr->p2p .peer ;
46+ } break ;
47+ case ncclProfileProxyOp: {
48+ eDescr_v2.proxyOp .pid = eDescr->proxyOp .pid ;
49+ eDescr_v2.proxyOp .channelId = eDescr->proxyOp .channelId ;
50+ eDescr_v2.proxyOp .peer = eDescr->proxyOp .peer ;
51+ eDescr_v2.proxyOp .nSteps = eDescr->proxyOp .nSteps ;
52+ eDescr_v2.proxyOp .chunkSize = eDescr->proxyOp .chunkSize ;
53+ eDescr_v2.proxyOp .isSend = eDescr->proxyOp .isSend ;
54+ } break ;
55+ case ncclProfileProxyStep: {
56+ eDescr_v2.proxyStep .step = eDescr->proxyStep .step ;
57+ } break ;
58+ case ncclProfileProxyCtrl: break ;
59+ default : return ncclSuccess;
1860 }
19- return ncclProfiler_v2->startEvent (context, eHandle, (ncclProfilerEventDescr_v2_t *)eDescr );
61+ return ncclProfiler_v2->startEvent (context, eHandle, &eDescr_v2 );
2062}
2163
2264static ncclResult_t ncclProfiler_recordEventState (void * eHandle, ncclProfilerEventState_t eState, ncclProfilerEventStateArgs_t* eStateArgs) {
0 commit comments