From 2f44059b6b0532bc467b8179c258ecb8661ce23c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Oberhuber?= <oberhuber.tomas@gmail.com> Date: Thu, 7 Feb 2019 07:28:25 +0100 Subject: [PATCH] MpiCommunicator cheks MPI_CUDA awarness only running really in more MPI processes. --- src/TNL/Communicators/MpiCommunicator.h | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/TNL/Communicators/MpiCommunicator.h b/src/TNL/Communicators/MpiCommunicator.h index 198805f1b2..7d66693a99 100644 --- a/src/TNL/Communicators/MpiCommunicator.h +++ b/src/TNL/Communicators/MpiCommunicator.h @@ -105,14 +105,19 @@ class MpiCommunicator redirect = parameters.getParameter< bool >( "redirect-mpi-output" ); setupRedirection(); #ifdef HAVE_CUDA - #if defined(MPIX_CUDA_AWARE_SUPPORT) && MPIX_CUDA_AWARE_SUPPORT - std::cout << "CUDA-aware MPI detected on this system ... " << std::endl; - #elif defined(MPIX_CUDA_AWARE_SUPPORT) && !MPIX_CUDA_AWARE_SUPPORT - std::cerr << "MPI is not CUDA-aware. Please install correct version of MPI." << std::endl; - return false; + int size; + MPI_Comm_size( MPI_COMM_WORLD, &size ); + if( size > 1 ) + { + #if defined( MPIX_CUDA_AWARE_SUPPORT ) && MPIX_CUDA_AWARE_SUPPORT + std::cout << "CUDA-aware MPI detected on this system ... " << std::endl; + #elif defined( MPIX_CUDA_AWARE_SUPPORT ) && !MPIX_CUDA_AWARE_SUPPORT + std::cerr << "MPI is not CUDA-aware. Please install correct version of MPI." << std::endl; + return false; #else - std::cerr << "WARNING: TNL cannot detect if you have CUDA-aware MPI. Some problems may occur." << std::endl; + std::cerr << "WARNING: TNL cannot detect if you have CUDA-aware MPI. Some problems may occur." << std::endl; #endif + } #endif // HAVE_CUDA bool gdbDebug = parameters.getParameter< bool >( "mpi-gdb-debug" ); int processToAttach = parameters.getParameter< int >( "mpi-process-to-attach" ); -- GitLab