From ae98e0453252cbf026dbd784f618d320ef1066fc Mon Sep 17 00:00:00 2001 From: William Zhang Date: Tue, 25 Apr 2023 23:00:30 +0000 Subject: [PATCH] accelerator/cuda: Check for cuda devices Adds a check during component initialization for cuda capable devices. Does not select the component if no cuda capable devices are detected. Signed-off-by: William Zhang --- opal/mca/accelerator/cuda/accelerator_cuda_component.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/opal/mca/accelerator/cuda/accelerator_cuda_component.c b/opal/mca/accelerator/cuda/accelerator_cuda_component.c index d48e29c9f65..d880ee5dca8 100644 --- a/opal/mca/accelerator/cuda/accelerator_cuda_component.c +++ b/opal/mca/accelerator/cuda/accelerator_cuda_component.c @@ -188,7 +188,15 @@ static opal_accelerator_base_module_t* accelerator_cuda_init(void) if (!opal_cuda_support) { return NULL; } - + int count = 0; + /* If cuInit fails or there are no cuda capable devices, return NULL. */ + if (cuInit(0)) { + return NULL; + } + CUresult ret = cuDeviceGetCount(&count); + if (ret || count == 0) { + return NULL; + } opal_accelerator_cuda_delayed_init(); return &opal_accelerator_cuda_module; }