The Elk Code
zmctm.f90
Go to the documentation of this file.
1 
2 ! Copyright (C) 2019 J. K. Dewhurst, S. Sharma and E. K. U. Gross.
3 ! This file is distributed under the terms of the GNU General Public License.
4 ! See the file COPYING for license details.
5 
6 subroutine zmctm(l,m,n,a,b,ld,c)
7 use modomp
8 implicit none
9 ! arguments
10 integer, intent(in) :: l,m,n
11 complex(8), intent(in) :: a(l,m),b(l,n)
12 integer, intent(in) :: ld
13 complex(8), intent(inout) :: c(ld,*)
14 ! local variables
15 integer i,j,nthd
16 ! external functions
17 complex(8), external :: zdotc
18 call holdthd(n,nthd)
19 !$OMP PARALLEL DO DEFAULT(SHARED) &
20 !$OMP PRIVATE(i) &
21 !$OMP SCHEDULE(DYNAMIC) &
22 !$OMP NUM_THREADS(nthd)
23 do j=1,n
24  do i=1,m
25  c(i,j)=c(i,j)+zdotc(l,a(1,i),1,b(1,j),1)
26  end do
27 end do
28 !$OMP END PARALLEL DO
29 call freethd(nthd)
30 end subroutine
31 
Definition: modomp.f90:6
subroutine zmctm(l, m, n, a, b, ld, c)
Definition: zmctm.f90:7
subroutine freethd(nthd)
Definition: modomp.f90:106
subroutine holdthd(nloop, nthd)
Definition: modomp.f90:78