From 368cd7adf9a58395c7d0d57e47001f5dfae99f22 Mon Sep 17 00:00:00 2001 From: Abdallah Ammar Date: Thu, 22 Aug 2024 18:35:17 +0200 Subject: [PATCH] OpenMP for tmp_m in GW_ppBSE_static_kernel_C --- src/GW/GW_ppBSE_static_kernel_C.f90 | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/GW/GW_ppBSE_static_kernel_C.f90 b/src/GW/GW_ppBSE_static_kernel_C.f90 index 2df0025..eb1e912 100644 --- a/src/GW/GW_ppBSE_static_kernel_C.f90 +++ b/src/GW/GW_ppBSE_static_kernel_C.f90 @@ -51,6 +51,10 @@ subroutine GW_ppBSE_static_kernel_C(ispin,eta,nBas,nC,nO,nV,nR,nS,nVV,lambda,ERI allocate(tmp_m(nBas,nBas,nS)) allocate(tmp(nBas,nBas,nBas,nBas)) + !$OMP PARALLEL DEFAULT(NONE) & + !$OMP PRIVATE(m, c, a, eps) & + !$OMP SHARED(nS, nBas, eta2, Om, rho, tmp_m) + !$OMP DO do m = 1, nS eps = Om(m) / (Om(m)*Om(m) + eta2) do c = 1, nBas @@ -59,6 +63,8 @@ subroutine GW_ppBSE_static_kernel_C(ispin,eta,nBas,nC,nO,nV,nR,nS,nVV,lambda,ERI enddo enddo enddo + !$OMP END DO + !$OMP END PARALLEL call dgemm("N", "T", nBas*nBas, nBas*nBas, nS, 1.d0, & tmp_m(1,1,1), nBas*nBas, rho(1,1,1), nBas*nBas, & @@ -216,6 +222,10 @@ subroutine GW_ppBSE_static_kernel_C(ispin,eta,nBas,nC,nO,nV,nR,nS,nVV,lambda,ERI allocate(tmp_m(nBas,nBas,nS)) allocate(tmp(nBas,nBas,nBas,nBas)) + !$OMP PARALLEL DEFAULT(NONE) & + !$OMP PRIVATE(m, c, a, eps) & + !$OMP SHARED(nS, nBas, eta2, Om, rho, tmp_m) + !$OMP DO do m = 1, nS eps = Om(m) / (Om(m)*Om(m) + eta2) do c = 1, nBas @@ -224,6 +234,8 @@ subroutine GW_ppBSE_static_kernel_C(ispin,eta,nBas,nC,nO,nV,nR,nS,nVV,lambda,ERI enddo enddo enddo + !$OMP END DO + !$OMP END PARALLEL call dgemm("N", "T", nBas*nBas, nBas*nBas, nS, 1.d0, & tmp_m(1,1,1), nBas*nBas, rho(1,1,1), nBas*nBas, &