IffGit has a new shared runner for building Docker images in GitLab CI. Visit https://iffgit.fz-juelich.de/examples/ci-docker-in-docker for more details.

Commit e5940a5b authored by Daniel Wortmann's avatar Daniel Wortmann
Browse files

Some fixes in diagonalization part

apws has to be compiled without optimization on new intel compiler
parent 8464d007
......@@ -7,6 +7,7 @@
if (${CMAKE_Fortran_COMPILER_ID} MATCHES "Intel")
set_source_files_properties(io/eig66_mpi.F90 PROPERTIES COMPILE_FLAGS -O0)
set_source_files_properties(cdn/pwden.F90 PROPERTIES COMPILE_FLAGS -O0)
set_source_files_properties(eigen/apws.F90 PROPERTIES COMPILE_FLAGS -O0)
set_source_files_properties(init/lhcal.f PROPERTIES COMPILE_FLAGS -O0)
endif()
......@@ -18,16 +18,17 @@ function configure_machine(){
if module list 2>&1 |grep -q intel-para
then
echo "Intel toolchain used"
if module list 2>&1| grep -q Python/2.7.12
if module list 2>&1| grep -q Python/2.7.12 &&
module list 2>&1| grep -q HDF5 &&
module list 2>&1| grep -q CMake &&
module list 2>&1| grep -q ELPA
then
echo "Python module loaded for XML (OK)"
echo "All required modules load loaded"
else
echo "You have to load the Python module"
echo "module load Python/2.7.12"
echo "You have to load the required modules"
echo "module load Python/2.7.12 CMake HDF5 ELPA/2016.05.003-hybrid"
exit
fi
#module load ELPA/2016.05.003-hybrid
module load HDF5
export CC=mpicc
export FC=mpif90
export CMAKE_Fortran_FLAGS="$CMAKE_Fortran_FLAGS -I$ELPA_MODULES -I$EBROOTHDF5/include -mkl"
......
......@@ -6,7 +6,7 @@
MODULE m_chani
CONTAINS
SUBROUTINE chani(M,N,Neigd, Myid,Np,Sub_comm,mpi_comm, &
SUBROUTINE chani(M,Neigd, Myid,Np,Sub_comm,mpi_comm, &
Eig,Num,hamOvlp,zMat)
!
!----------------------------------------------------
......@@ -39,7 +39,7 @@ CONTAINS
IMPLICIT NONE
INCLUDE 'mpif.h'
INTEGER, INTENT (IN) :: neigd,m,n
INTEGER, INTENT (IN) :: neigd,m
INTEGER, INTENT (IN) :: SUB_COMM,np,myid,mpi_comm
INTEGER, INTENT (INOUT) :: num
REAL, INTENT (OUT) :: eig(neigd)
......@@ -88,11 +88,11 @@ CONTAINS
DO i = myid+1, m, np
nc = nc + 1
ENDDO
IF (nc.GT.n) THEN
WRITE (6,*) myid,'gets more columns than allowed:'
WRITE (6,*) myid,'will get',nc,' columns, only',n,' allowed'
CALL juDFT_error("chani: nc > n",calledby ="chani")
ENDIF
!IF (nc.GT.n) THEN
! WRITE (6,*) myid,'gets more columns than allowed:'
! WRITE (6,*) myid,'will get',nc,' columns, only',n,' allowed'
! CALL juDFT_error("chani: nc > n",calledby ="chani")
!ENDIF
!
! determine block size
!
......
......@@ -119,8 +119,8 @@ CONTAINS
DO n=n_rank+1,lapw%nmat,n_size
DO nn=1,n
i=i+1
write(99,'(2(i10,1x),4(f15.4,1x))') n,nn,a(i)
write(98,'(2(i10,1x),4(f15.4,1x))') n,nn,b(i)
write(99,'(2(i10,1x),4(f15.8,1x))') n,nn,hamOvlp%a_c(i)
write(98,'(2(i10,1x),4(f15.8,1x))') n,nn,hamOvlp%b_c(i)
ENDDO
ENDDO
CALL MPI_BARRIER(MPI_COMM_WORLD,err)
......@@ -170,9 +170,9 @@ CONTAINS
#ifdef CPP_ELPA
CASE (diag_elpa)
IF (hamovlp%l_real) THEN
CALL elpa_diag(lapw%nmat,n,SUB_COMM,hamOvlp%a_r,hamOvlp%b_r,zMat%z_r,eig,ne_found)
CALL elpa_diag(lapw%nmat,SUB_COMM,hamOvlp%a_r,hamOvlp%b_r,zMat%z_r,eig,ne_found)
ELSE
CALL elpa_diag(lapw%nmat,n,SUB_COMM,hamOvlp%a_c,hamOvlp%b_c,zMat%z_c,eig,ne_found)
CALL elpa_diag(lapw%nmat,SUB_COMM,hamOvlp%a_c,hamOvlp%b_c,zMat%z_c,eig,ne_found)
ENDIF
#endif
#ifdef CPP_ELEMENTAL
......@@ -186,7 +186,7 @@ CONTAINS
#endif
#ifdef CPP_SCALAPACK
CASE (diag_scalapack)
CALL chani(lapw%nmat,dimension%nbasfcn/n_size,ndim, n_rank,n_size,SUB_COMM,mpi%mpi_comm,eig,ne_found,hamOvlp,zMat)
CALL chani(lapw%nmat,ndim, n_rank,n_size,SUB_COMM,mpi%mpi_comm,eig,ne_found,hamOvlp,zMat)
#endif
#ifdef CPP_MAGMA
CASE (diag_magma)
......
......@@ -28,7 +28,7 @@ CONTAINS
#define CPP_ZERO 0.0
#define CPP_mult mult_at_b_real
#define CPP_REAL
SUBROUTINE elpa_r(m,n, SUB_COMM, a,b, z,eig,num)
SUBROUTINE elpa_r(m, SUB_COMM, a,b, z,eig,num)
!
!----------------------------------------------------
!- Parallel eigensystem solver - driver routine based on chani; dw'12
......@@ -65,7 +65,7 @@ CONTAINS
#define CPP_ZERO cmplx(0.,0.)
#define CPP_mult mult_ah_b_complex
#undef CPP_REAL
SUBROUTINE elpa_c(m,n, SUB_COMM, a,b, z,eig,num)
SUBROUTINE elpa_c(m, SUB_COMM, a,b, z,eig,num)
!
!----------------------------------------------------
!- Parallel eigensystem solver - driver routine based on chani; dw'12
......
......@@ -13,7 +13,7 @@
IMPLICIT NONE
INCLUDE 'mpif.h'
INTEGER, INTENT (IN) :: m,n
INTEGER, INTENT (IN) :: m
INTEGER, INTENT (IN) :: SUB_COMM
INTEGER, INTENT (INOUT) :: num
REAL, INTENT (OUT) :: eig(:)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment