@@ -182,10 +182,13 @@ flagcxResult_t ncclAdaptorCommInitRank(flagcxInnerComm_t *comm, int nranks,
182182 reqs.lsaMultimem = checkNvlsSupport ();
183183 reqs.railGinBarrierCount = NCCL_ADAPTOR_DEVICE_CTA_COUNT ;
184184 reqs.ginSignalCount = 1 ;
185- FLAGCXCHECK (
186- ncclAdaptorDevCommCreate ((*comm)->base , &reqs, (*comm)->devBase ));
187- if ((*comm)->devBase == NULL ) {
188- WARN (" ncclDevComm is not initialized succefully" );
185+ flagcxResult_t devCommRes =
186+ ncclAdaptorDevCommCreate ((*comm)->base , &reqs, (*comm)->devBase );
187+ if (devCommRes != flagcxSuccess) {
188+ WARN (" ncclDevCommCreate unavailable (res=%d), DevComm disabled" ,
189+ devCommRes);
190+ free ((*comm)->devBase );
191+ (*comm)->devBase = NULL ;
189192 }
190193 }
191194 }
@@ -317,8 +320,12 @@ flagcxResult_t ncclAdaptorCommWindowRegister(flagcxInnerComm_t comm, void *buff,
317320 if (*win == NULL ) {
318321 FLAGCXCHECK (flagcxCalloc (win, 1 ));
319322 }
320- return (flagcxResult_t)ncclCommWindowRegister (comm->base , buff, size,
321- &(*win)->base , winFlags);
323+ flagcxResult_t res = (flagcxResult_t)ncclCommWindowRegister (
324+ comm->base , buff, size, &(*win)->base , winFlags);
325+ if (res == flagcxSuccess) {
326+ (*win)->winFlags = winFlags;
327+ }
328+ return res;
322329#else
323330 return flagcxNotSupported;
324331#endif // NCCL_VERSION_CODE > NCCL_VERSION(2, 27, 0)
0 commit comments