Skip to content

Commit 032ffb6

Browse files
authored
[CRL] Avoid sticky device error state on host buffer registration (#528)
1 parent 83d9728 commit 032ffb6

17 files changed

Lines changed: 84 additions & 9 deletions

flagcx/adaptor/device/cann_adaptor.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -368,6 +368,7 @@ struct flagcxDeviceAdaptor cannAdaptor {
368368
cannAdaptorSymFlatUnmap, cannAdaptorSymMulticastSupported,
369369
cannAdaptorSymMulticastCreate, cannAdaptorSymMulticastBind,
370370
cannAdaptorSymMulticastTeardown, cannAdaptorSymMulticastFree,
371+
NULL, // flagcxResult_t (*getLastError)();
371372
};
372373

373374
#endif // USE_ASCEND_ADAPTOR

flagcx/adaptor/device/cuda_adaptor.cc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -930,6 +930,11 @@ flagcxResult_t cudaAdaptorSymMulticastFree(void *) { return flagcxSuccess; }
930930

931931
#endif // CUDART_VERSION >= 12010
932932

933+
flagcxResult_t cudaAdaptorGetLastError() {
934+
cudaError_t err = cudaGetLastError();
935+
return err == cudaSuccess ? flagcxSuccess : flagcxSystemError;
936+
}
937+
933938
struct flagcxDeviceAdaptor cudaAdaptor {
934939
"CUDA",
935940
// Basic functions
@@ -996,6 +1001,7 @@ struct flagcxDeviceAdaptor cudaAdaptor {
9961001
cudaAdaptorSymFlatUnmap, cudaAdaptorSymMulticastSupported,
9971002
cudaAdaptorSymMulticastCreate, cudaAdaptorSymMulticastBind,
9981003
cudaAdaptorSymMulticastTeardown, cudaAdaptorSymMulticastFree,
1004+
cudaAdaptorGetLastError,
9991005
};
10001006

10011007
#endif // USE_NVIDIA_ADAPTOR

flagcx/adaptor/device/ducuda_adaptor.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -608,6 +608,7 @@ struct flagcxDeviceAdaptor ducudaAdaptor {
608608
ducudaAdaptorSymMulticastSupported, ducudaAdaptorSymMulticastCreate,
609609
ducudaAdaptorSymMulticastBind, ducudaAdaptorSymMulticastTeardown,
610610
ducudaAdaptorSymMulticastFree,
611+
NULL, // flagcxResult_t (*getLastError)();
611612
};
612613

613614
#endif // USE_DU_ADAPTOR

flagcx/adaptor/device/hip_adaptor.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -432,6 +432,7 @@ struct flagcxDeviceAdaptor hipAdaptor {
432432
hipAdaptorSymFlatUnmap, hipAdaptorSymMulticastSupported,
433433
hipAdaptorSymMulticastCreate, hipAdaptorSymMulticastBind,
434434
hipAdaptorSymMulticastTeardown, hipAdaptorSymMulticastFree,
435+
NULL, // flagcxResult_t (*getLastError)();
435436
};
436437

437438
#endif // USE_AMD_ADAPTOR

flagcx/adaptor/device/ixcuda_adaptor.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -443,5 +443,6 @@ struct flagcxDeviceAdaptor ixcudaAdaptor {
443443
ixcudaAdaptorSymMulticastSupported, ixcudaAdaptorSymMulticastCreate,
444444
ixcudaAdaptorSymMulticastBind, ixcudaAdaptorSymMulticastTeardown,
445445
ixcudaAdaptorSymMulticastFree,
446+
NULL, // flagcxResult_t (*getLastError)();
446447
};
447448
#endif // USE_ILUVATAR_COREX_ADAPTOR

flagcx/adaptor/device/kunlunxin_adaptor.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -522,5 +522,6 @@ struct flagcxDeviceAdaptor kunlunAdaptor {
522522
kunlunxinAdaptorSymMulticastSupported, kunlunxinAdaptorSymMulticastCreate,
523523
kunlunxinAdaptorSymMulticastBind, kunlunxinAdaptorSymMulticastTeardown,
524524
kunlunxinAdaptorSymMulticastFree,
525+
NULL, // flagcxResult_t (*getLastError)();
525526
};
526527
#endif // USE_KUNLUNXIN_ADAPTOR

flagcx/adaptor/device/maca_adaptor.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -450,6 +450,7 @@ struct flagcxDeviceAdaptor macaAdaptor {
450450
macaAdaptorSymFlatUnmap, macaAdaptorSymMulticastSupported,
451451
macaAdaptorSymMulticastCreate, macaAdaptorSymMulticastBind,
452452
macaAdaptorSymMulticastTeardown, macaAdaptorSymMulticastFree,
453+
NULL, // flagcxResult_t (*getLastError)();
453454
};
454455

455456
#endif // USE_METAX_ADAPTOR

flagcx/adaptor/device/mlu_adaptor.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -396,6 +396,7 @@ struct flagcxDeviceAdaptor mluAdaptor {
396396
mluAdaptorSymFlatUnmap, mluAdaptorSymMulticastSupported,
397397
mluAdaptorSymMulticastCreate, mluAdaptorSymMulticastBind,
398398
mluAdaptorSymMulticastTeardown, mluAdaptorSymMulticastFree,
399+
NULL, // flagcxResult_t (*getLastError)();
399400
};
400401

401402
#endif // USE_CAMBRICON_ADAPTOR

flagcx/adaptor/device/musa_adaptor.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -425,6 +425,7 @@ struct flagcxDeviceAdaptor musaAdaptor {
425425
musaAdaptorSymFlatUnmap, musaAdaptorSymMulticastSupported,
426426
musaAdaptorSymMulticastCreate, musaAdaptorSymMulticastBind,
427427
musaAdaptorSymMulticastTeardown, musaAdaptorSymMulticastFree,
428+
NULL, // flagcxResult_t (*getLastError)();
428429
};
429430

430431
#endif // USE_MUSA_ADAPTOR

flagcx/adaptor/device/ppu_cuda_adaptor.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -686,6 +686,7 @@ struct flagcxDeviceAdaptor ppucudaAdaptor {
686686
ppucudaAdaptorSymMulticastSupported, ppucudaAdaptorSymMulticastCreate,
687687
ppucudaAdaptorSymMulticastBind, ppucudaAdaptorSymMulticastTeardown,
688688
ppucudaAdaptorSymMulticastFree,
689+
NULL, // flagcxResult_t (*getLastError)();
689690
};
690691

691692
#endif // USE_PPU_ADAPTOR

0 commit comments

Comments
 (0)