From 84906d6c12a2b23d225446f0c3e4480c102a1345 Mon Sep 17 00:00:00 2001 From: Pietro Bonfa Date: Tue, 23 Jun 2020 23:30:37 +0200 Subject: [PATCH] Assign the same GPU to all OpenMP threads. --- Modules/mp_world.f90 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Modules/mp_world.f90 b/Modules/mp_world.f90 index da2349818..0cee4a8f4 100644 --- a/Modules/mp_world.f90 +++ b/Modules/mp_world.f90 @@ -78,7 +78,9 @@ CONTAINS #if defined(__CUDA) ierr = cudaGetDeviceCount( ndev ) IF (ierr/=0) CALL mp_stop( 9000 + ierr ) +!$omp parallel firstprivate(key, ndev) ierr = cudaSetDevice(mod(key, ndev)) +!$omp end parallel IF (ierr/=0) CALL mp_stop( 9100 + ierr ) ierr = cudaDeviceSynchronize() IF (ierr/=0) CALL mp_stop( 9200 + ierr )