The Elk Code
 
Loading...
Searching...
No Matches
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
6subroutine zmctm(l,m,n,a,b,ld,c)
7use modomp
8implicit none
9! arguments
10integer, intent(in) :: l,m,n
11complex(8), intent(in) :: a(l,m),b(l,n)
12integer, intent(in) :: ld
13complex(8), intent(inout) :: c(ld,*)
14! local variables
15integer i,j,nthd
16! external functions
17complex(8), external :: zdotc
18call holdthd(n,nthd)
19!$OMP PARALLEL DO DEFAULT(SHARED) &
20!$OMP PRIVATE(i) &
21!$OMP SCHEDULE(DYNAMIC) &
22!$OMP NUM_THREADS(nthd)
23do 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
27end do
28!$OMP END PARALLEL DO
29call freethd(nthd)
30end subroutine
31
subroutine holdthd(nloop, nthd)
Definition modomp.f90:78
subroutine freethd(nthd)
Definition modomp.f90:106
subroutine zmctm(l, m, n, a, b, ld, c)
Definition zmctm.f90:7