Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
fleur
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
51
Issues
51
List
Boards
Labels
Service Desk
Milestones
Operations
Operations
Incidents
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
fleur
fleur
Commits
13536cf9
Commit
13536cf9
authored
May 20, 2016
by
Daniel Wortmann
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed several MPI related bugs
parent
f6681e04
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
21 additions
and
26 deletions
+21
-26
cdn/cdnovlp.F90
cdn/cdnovlp.F90
+1
-5
eigen/eigen.F90
eigen/eigen.F90
+4
-2
eigen/hsmt_nonsph.F90
eigen/hsmt_nonsph.F90
+1
-1
init/dimen7.F90
init/dimen7.F90
+1
-1
io/eig66_mpi.F90
io/eig66_mpi.F90
+7
-11
main/fleur_init.F90
main/fleur_init.F90
+1
-0
mpi/mpi_bc_all.F90
mpi/mpi_bc_all.F90
+6
-6
No files found.
cdn/cdnovlp.F90
View file @
13536cf9
...
...
@@ -613,12 +613,8 @@
! contribution) to the m.t. density, include full nonspherical
! components
!
l_cutoff
=
0
DO
n
=
1
,
atoms
%
ntype
l_cutoff
=
MAX
(
l_cutoff
,
atoms
%
lmax
(
n
)
)
END
DO
ENDIF
! mpi%irank ==0
l_cutoff
=
maxval
(
atoms
%
lmax
(:
atoms
%
ntype
))
#ifdef CPP_MPI
IF
(
mpi
%
isize
>
1
)
CALL
mpi_bc_st
(
mpi
,
stars
,
qpwc
)
#endif
...
...
eigen/eigen.F90
View file @
13536cf9
...
...
@@ -277,8 +277,7 @@ CONTAINS
input
,
vr
,
vz
,
enpara_in
,
enpara
)
ENDIF
!
!---> set up and solve the eigenvalue problem
...
...
@@ -446,6 +445,7 @@ CONTAINS
!
call
timestart
(
"Interstitial Hamiltonian&Overlap"
)
CALL
hsint
(
noco
,
jij
,
stars
,
vpw
(:,
jsp
),
lapw
,
jsp
,
n_size
,
n_rank
,
kpts
%
bk
(:,
nk
),
cell
,
atoms
,
a
,
b
)
call
timestop
(
"Interstitial Hamiltonian&Overlap"
)
!
!---> update with sphere terms
...
...
@@ -523,9 +523,11 @@ CONTAINS
CLOSE
(
88
)
endif
CALL
eigen_diag
(
jsp
,
eig_id
,
it
,
atoms
,
dimension
,
matsize
,
mpi
,
n_rank
,
n_size
,
ne
,
nk
,
lapw
,
input
,&
nred
,
sub_comm
,
sym
,
matind
,
kveclo
,
noco
,
cell
,
bkpt
,
enpara
%
el0
,
jij
,
l_wu
,&
oneD
,
td
,
ud
,
eig
,
a
,
b
,
z
)
!
!---> output results
!
...
...
eigen/hsmt_nonsph.F90
View file @
13536cf9
...
...
@@ -210,7 +210,7 @@ CONTAINS
!DO kii = n_rank, nv_tot-1, n_size
ki
=
MOD
(
kii
,
lapw
%
nv
(
iintsp
))
+
1
bsize
=
MIN
(
SIZE
(
aa_block
,
1
),
lapw
%
nv
(
iintsp
)/
n_size
-
ki
*
n_size
+1
)
!Either use maximal blocksize or number of rows left to calculate
IF
(
bsize
==
0
)
EXIT
!nothing more to do here
IF
(
bsize
<
1
)
EXIT
!nothing more to do here
bsize2
=
bsize
*
n_size
!aa_block(:bsize,:ki+bsize2-1)=matmul(a(ki:ki+bsize-1:n_size,0:lmp,iintsp),conjg(transpose(ax(:ki+bsize2-1,0:lmp))))+ &
! matmul(b(ki:ki+bsize-1:n_size,0:lmp,iintsp),conjg(transpose(bx(:ki+bsize2-1,0:lmp))))
...
...
init/dimen7.F90
View file @
13536cf9
...
...
@@ -402,7 +402,7 @@
&
kpts
,
oneD
)
!
DEALLOCATE
(
&
DEALLOCATE
(
sym
%
mrot
,
sym
%
tau
,
&
&
atoms
%
lmax
,
atoms
%
ntypsy
,
atoms
%
neq
,
atoms
%
nlhtyp
,
atoms
%
rmt
,
atoms
%
zatom
,
atoms
%
jri
,
atoms
%
dx
,
atoms
%
nlo
,
atoms
%
llo
,
atoms
%
nflip
,
atoms
%
bmu
,
noel
,&
&
vacuum
%
izlay
,
atoms
%
ncst
,
atoms
%
lnonsph
,
atoms
%
taual
,
atoms
%
pos
,
atoms
%
nz
,
atoms
%
relax
,&
&
atoms
%
l_geo
,
noco
%
soc_opt
,
noco
%
alph
,
noco
%
beta
,
atoms
%
lda_u
,
noco
%
l_relax
,
jij
%
l_magn
,
jij
%
M
,
noco
%
b_con
,
sphhar
%
clnu
,
sphhar
%
nlh
,&
...
...
io/eig66_mpi.F90
View file @
13536cf9
MODULE
m_eig66_mpi
#include "juDFT_env.h"
USE
m_eig66_data
IMPLICIT
NONE
#ifdef CPP_MPI
INCLUDE
'mpif.h'
PRIVATE
use
mpi
#endif
IMPLICIT
NONE
PRIVATE
PUBLIC
open_eig
,
read_eig
,
write_eig
,
close_eig
,
write_dos
,
read_dos
CONTAINS
...
...
@@ -107,7 +103,7 @@ CONTAINS
local_slots
=
COUNT
(
d
%
pe_ev
==
d
%
irank
)
slot_size
=
nmat
#if
!defined(CPP_INVERSION)||
defined(CPP_SOC)
#if
defined(CPP_INVERSION)&&!
defined(CPP_SOC)
CALL
priv_create_memory
(
slot_size
,
local_slots
,
d
%
zr_handle
,
real_data_ptr
=
d
%
zr_data
)
#else
CALL
priv_create_memory
(
slot_size
,
local_slots
,
d
%
zc_handle
,
cmplx_data_ptr
=
d
%
zc_data
)
...
...
@@ -173,13 +169,13 @@ CONTAINS
IF
(
present
(
real_data_ptr
))
THEN
CALL
C_F_POINTER
(
ptr
,
real_data_ptr
,(/
length
/
type_size
/))
CALL
MPI_WIN_CREATE
(
real_data_ptr
,
length
,
slot_size
,
Mpi_INFO_NULL
,
MPI_COMM
,
handle
,
e
)
CALL
MPI_WIN_CREATE
(
real_data_ptr
,
length
,
slot_size
*
type_size
,
Mpi_INFO_NULL
,
MPI_COMM
,
handle
,
e
)
ELSEIF
(
present
(
int_data_ptr
))
THEN
CALL
C_F_POINTER
(
ptr
,
int_data_ptr
,(/
length
/
type_size
/))
CALL
MPI_WIN_CREATE
(
int_data_ptr
,
length
,
slot_size
,
Mpi_INFO_NULL
,
MPI_COMM
,
handle
,
e
)
CALL
MPI_WIN_CREATE
(
int_data_ptr
,
length
,
slot_size
*
type_size
,
Mpi_INFO_NULL
,
MPI_COMM
,
handle
,
e
)
ELSE
CALL
C_F_POINTER
(
ptr
,
cmplx_data_ptr
,(/
length
/
type_size
/))
CALL
MPI_WIN_CREATE
(
cmplx_data_ptr
,
length
,
slot_size
,
Mpi_INFO_NULL
,
MPI_COMM
,
handle
,
e
)
CALL
MPI_WIN_CREATE
(
cmplx_data_ptr
,
length
,
slot_size
*
type_size
,
Mpi_INFO_NULL
,
MPI_COMM
,
handle
,
e
)
ENDIF
END
SUBROUTINE
priv_create_memory
...
...
main/fleur_init.F90
View file @
13536cf9
...
...
@@ -123,6 +123,7 @@
ALLOCATE
(
sphhar
%
clnu
(
sphhar
%
memd
,
0
:
sphhar
%
nlhd
,
sphhar
%
ntypsd
),
stars
%
ustep
(
stars
%
n3d
)
)
ALLOCATE
(
stars
%
ig
(
-
stars
%
k1d
:
stars
%
k1d
,
-
stars
%
k2d
:
stars
%
k2d
,
-
stars
%
k3d
:
stars
%
k3d
),
stars
%
ig2
(
stars
%
n3d
),
stars
%
igz
(
stars
%
n3d
)
)
ALLOCATE
(
atoms
%
jri
(
atoms
%
ntypd
),
stars
%
kv2
(
2
,
stars
%
n2d
),
stars
%
kv3
(
3
,
stars
%
n3d
),
sphhar
%
llh
(
0
:
sphhar
%
nlhd
,
sphhar
%
ntypsd
)
)
ALLOCATE
(
sym
%
mrot
(
3
,
3
,
sym
%
nop
),
sym
%
tau
(
3
,
sym
%
nop
))
ALLOCATE
(
atoms
%
lmax
(
atoms
%
ntypd
),
sphhar
%
mlh
(
sphhar
%
memd
,
0
:
sphhar
%
nlhd
,
sphhar
%
ntypsd
))
!,sym%mrot(3,3,sym%nop) )
ALLOCATE
(
atoms
%
ncv
(
atoms
%
ntypd
),
atoms
%
neq
(
atoms
%
ntypd
),
atoms
%
ngopr
(
atoms
%
natd
)
)
ALLOCATE
(
sphhar
%
nlh
(
sphhar
%
ntypsd
),
sphhar
%
nmem
(
0
:
sphhar
%
nlhd
,
sphhar
%
ntypsd
)
)
...
...
mpi/mpi_bc_all.F90
View file @
13536cf9
...
...
@@ -42,7 +42,6 @@ CONTAINS
EXTERNAL
MPI_BCAST
IF
(
mpi
%
irank
.EQ.
0
)
THEN
i
(
1
)
=
1
;
i
(
2
)
=
obsolete
%
lpr
;
i
(
3
)
=
atoms
%
ntype
;
i
(
5
)
=
obsolete
%
nwd
;
i
(
6
)
=
input
%
isec1
i
(
7
)
=
stars
%
ng2
;
i
(
8
)
=
stars
%
ng3
;
i
(
9
)
=
vacuum
%
nmz
;
i
(
10
)
=
vacuum
%
nmzxy
;
i
(
11
)
=
obsolete
%
lepr
...
...
@@ -122,7 +121,7 @@ CONTAINS
CALL
MPI_BCAST
(
input
%
efield
%
C1
,
n
,
MPI_REAL
,
0
,
mpi
%
mpi_comm
,
ierr
)
CALL
MPI_BCAST
(
input
%
efield
%
C2
,
n
,
MPI_REAL
,
0
,
mpi
%
mpi_comm
,
ierr
)
END
IF
CALL
MPI_BCAST
(
stars
%
ustep
,
stars
%
n3d
,
MPI_DOUBLE_COMPLEX
,
0
,
mpi
%
mpi_comm
,
ierr
)
n
=
sphhar
%
memd
*
(
sphhar
%
nlhd
+1
)
*
sphhar
%
ntypsd
CALL
MPI_BCAST
(
sphhar
%
clnu
,
n
,
MPI_DOUBLE_COMPLEX
,
0
,
mpi
%
mpi_comm
,
ierr
)
...
...
@@ -144,7 +143,7 @@ CONTAINS
CALL
MPI_BCAST
(
stars
%
ig2
,
stars
%
n3d
,
MPI_INTEGER
,
0
,
mpi
%
mpi_comm
,
ierr
)
n
=
(
2
*
stars
%
k1d
+1
)
*
(
2
*
stars
%
k2d
+1
)
*
(
2
*
stars
%
k3d
+1
)
CALL
MPI_BCAST
(
stars
%
ig
,
n
,
MPI_INTEGER
,
0
,
mpi
%
mpi_comm
,
ierr
)
CALL
MPI_BCAST
(
stars
%
rgphs
,
n
,
MPI_DOUBLE_
PRECISION
,
0
,
mpi
%
mpi_comm
,
ierr
)
CALL
MPI_BCAST
(
stars
%
rgphs
,
n
,
MPI_DOUBLE_
COMPLEX
,
0
,
mpi
%
mpi_comm
,
ierr
)
CALL
MPI_BCAST
(
input
%
ellow
,
obsolete
%
nwdd
,
MPI_DOUBLE_PRECISION
,
0
,
mpi
%
mpi_comm
,
ierr
)
CALL
MPI_BCAST
(
input
%
elup
,
obsolete
%
nwdd
,
MPI_DOUBLE_PRECISION
,
0
,
mpi
%
mpi_comm
,
ierr
)
CALL
MPI_BCAST
(
input
%
rkmax
,
obsolete
%
nwdd
,
MPI_DOUBLE_PRECISION
,
0
,
mpi
%
mpi_comm
,
ierr
)
...
...
@@ -169,6 +168,7 @@ CONTAINS
CALL
MPI_BCAST
(
kpts
%
bk
,
3
*
kpts
%
nkptd
*
obsolete
%
nwdd
,
MPI_DOUBLE_PRECISION
,
0
,
mpi
%
mpi_comm
,
ierr
)
CALL
MPI_BCAST
(
kpts
%
wtkpt
,
kpts
%
nkptd
*
obsolete
%
nwdd
,
MPI_DOUBLE_PRECISION
,
0
,
mpi
%
mpi_comm
,
ierr
)
!
n
=
atoms
%
natd
*
sym
%
nop
CALL
MPI_BCAST
(
sym
%
invarop
,
n
,
MPI_INTEGER
,
0
,
mpi
%
mpi_comm
,
ierr
)
CALL
MPI_BCAST
(
sym
%
multab
,
sym
%
nop
**
2
,
MPI_INTEGER
,
0
,
mpi
%
mpi_comm
,
ierr
)
...
...
@@ -213,9 +213,9 @@ CONTAINS
CALL
MPI_BCAST
(
atoms
%
lda_u
(:)
%
l
,
atoms
%
ntypd
,
MPI_INTEGER
,
0
,
mpi
%
mpi_comm
,
ierr
)
CALL
MPI_BCAST
(
atoms
%
lda_u
(:)
%
u
,
atoms
%
ntypd
,
MPI_DOUBLE_PRECISION
,
0
,
mpi
%
mpi_comm
,
ierr
)
CALL
MPI_BCAST
(
atoms
%
lda_u
(:)
%
j
,
atoms
%
ntypd
,
MPI_DOUBLE_PRECISION
,
0
,
mpi
%
mpi_comm
,
ierr
)
CALL
MPI_BCAST
(
atoms
%
lda_u
(:)
%
l_amf
,
MPI_LOGICAL
,
0
,&
&
mpi
,
ierr
)
CALL
MPI_BCAST
(
atoms
%
lda_u
(:)
%
l_amf
,
atoms
%
ntypd
,
MPI_LOGICAL
,
0
,
mpi
%
mpi_comm
,
ierr
)
CALL
MPI_BCAST
(
atoms
%
lapw_l
,
atoms
%
ntypd
,
MPI_INTEGER
,
0
,
mpi
%
mpi_comm
,
ierr
)
n
=
7
*
7
*
3
*
sym
%
nop
CALL
MPI_BCAST
(
sym
%
d_wgn
,
n
,
MPI_DOUBLE_COMPLEX
,
0
,
mpi
%
mpi_comm
,
ierr
)
CALL
MPI_BCAST
(
oneD
%
nstr1
,
oneD
%
odd
%
n2d
,
MPI_INTEGER
,
0
,
mpi
%
mpi_comm
,
ierr
)
...
...
@@ -255,7 +255,7 @@ CONTAINS
!--- HF>
!
!
RETURN
END
SUBROUTINE
mpi_bc_all
END
MODULE
m_mpi_bc_all
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment