Commit 28540495 authored by Uliana Alekseeva's avatar Uliana Alekseeva

Ajustments to the new ELPA library (2015.11.001)

parent 08834bc0
...@@ -42,7 +42,7 @@ if (DEFINED ENV{ELPA_ROOT}) ...@@ -42,7 +42,7 @@ if (DEFINED ENV{ELPA_ROOT})
set(Fleur_uses_ELPA TRUE) set(Fleur_uses_ELPA TRUE)
add_definitions(-DCPP_ELPA_NEW) add_definitions(-DCPP_ELPA_NEW)
set(LAPACK_LIBS "${LAPACK_LIBS} -L$ENV{ELPA_ROOT}/lib -lelpa_openmp -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 -lstdc++") set(LAPACK_LIBS "${LAPACK_LIBS} -L$ENV{ELPA_ROOT}/lib -lelpa_openmp -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 -lstdc++")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -I$ENV{ELPA_ROOT}/include/elpa_openmp-2014.06.001/modules") set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -I$ENV{ELPA_INCLUDE} -I$ENV{ELPA_INCLUDE}/elpa -I$ENV{ELPA_MODULES}" )
endif() endif()
if (DEFINED ENV{ELEMENTAL_ROOT}) if (DEFINED ENV{ELEMENTAL_ROOT})
......
...@@ -128,8 +128,8 @@ CONTAINS ...@@ -128,8 +128,8 @@ CONTAINS
! The only reason having them is that the Scalapack counterpart ! The only reason having them is that the Scalapack counterpart
! PDPOTRF very often fails on higher processor numbers for unknown reasons! ! PDPOTRF very often fails on higher processor numbers for unknown reasons!
#ifdef CPP_ELPA_NEW #ifdef CPP_ELPA_NEW
CALL CPP_CHOLESKY (m,bsca,SIZE(bsca,1),nb, mpi_comm_rows,mpi_comm_cols,ok) CALL CPP_CHOLESKY (m,bsca,SIZE(bsca,1),nb,mycolssca,mpi_comm_rows,mpi_comm_cols,.false.,ok)
CALL CPP_invert_trm(m, bsca, SIZE(bsca,1), nb, mpi_comm_rows, mpi_comm_cols,ok) CALL CPP_invert_trm(m,bsca,SIZE(bsca,1),nb,mycolssca,mpi_comm_rows,mpi_comm_cols,.false.,ok)
#else #else
CALL CPP_CHOLESKY (m,bsca,SIZE(bsca,1),nb, mpi_comm_rows,mpi_comm_cols) CALL CPP_CHOLESKY (m,bsca,SIZE(bsca,1),nb, mpi_comm_rows,mpi_comm_cols)
CALL CPP_invert_trm(m, bsca, SIZE(bsca,1), nb, mpi_comm_rows, mpi_comm_cols) CALL CPP_invert_trm(m, bsca, SIZE(bsca,1), nb, mpi_comm_rows, mpi_comm_cols)
...@@ -179,7 +179,7 @@ CONTAINS ...@@ -179,7 +179,7 @@ CONTAINS
#ifdef CPP_ELPA_NEW #ifdef CPP_ELPA_NEW
#ifdef CPP_ELPA2 #ifdef CPP_ELPA2
err=CPP_solve_evp_2stage(m,num2,asca,SIZE(asca,1),& err=CPP_solve_evp_2stage(m,num2,asca,SIZE(asca,1),&
eig2,eigvec,SIZE(asca,1), nb, mpi_comm_rows, mpi_comm_cols,sub_comm) eig2,eigvec,SIZE(asca,1), nb,mycolssca, mpi_comm_rows, mpi_comm_cols,sub_comm)
#else #else
err=CPP_solve_evp(m, num2,asca,SIZE(asca,1),& err=CPP_solve_evp(m, num2,asca,SIZE(asca,1),&
eig2,eigvec, SIZE(asca,1), nb,mpi_comm_rows, mpi_comm_cols) eig2,eigvec, SIZE(asca,1), nb,mpi_comm_rows, mpi_comm_cols)
...@@ -339,7 +339,11 @@ CONTAINS ...@@ -339,7 +339,11 @@ CONTAINS
!Create communicators for ELPA !Create communicators for ELPA
!print *,"creating ELPA comms" !print *,"creating ELPA comms"
#ifdef CPP_ELPA_NEW
ierr=get_elpa_row_col_comms(mpi_subcom, myrowblacs, mycolblacs,mpi_comm_rows, mpi_comm_cols)
#else
CALL get_elpa_row_col_comms(mpi_subcom, myrowblacs, mycolblacs,mpi_comm_rows, mpi_comm_cols) CALL get_elpa_row_col_comms(mpi_subcom, myrowblacs, mycolblacs,mpi_comm_rows, mpi_comm_cols)
#endif
!print *,"creating ELPA comms -- done" !print *,"creating ELPA comms -- done"
!Create the descriptors !Create the descriptors
......
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