Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tech ydiago #127

Open
wants to merge 126 commits into
base: tech-master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
126 commits
Select commit Hold shift + click to select a range
b086bd6
Version 5.2.0, Revision 23256, Hash b06be9e3ad
sangallidavide Jun 27, 2024
1aff63d
Merge remote-tracking branch 'yambo-gpl/tech-master'
sangallidavide Jul 10, 2024
b8328a9
“ydiago_interface”
muralidhar-nalabothula Jul 14, 2024
293f9ac
“ydiago_interface”
muralidhar-nalabothula Jul 14, 2024
3f93961
“ydiago_interface”
muralidhar-nalabothula Jul 15, 2024
e957698
“ydiago_interface”
muralidhar-nalabothula Jul 15, 2024
aeb271b
“ydiago_interface”
muralidhar-nalabothula Jul 15, 2024
f063c4e
fix alpa compile macro flag
muralidhar-nalabothula Jul 23, 2024
2d6d17e
compute residuals
muralidhar-nalabothula Jul 24, 2024
e9274a4
compute residuals
muralidhar-nalabothula Jul 25, 2024
c2691f2
disable buggy PL residuals
muralidhar-nalabothula Jul 25, 2024
a581b2b
disable buggy PL residuals
muralidhar-nalabothula Jul 25, 2024
cd0fbbd
disable buggy PL residuals
muralidhar-nalabothula Jul 25, 2024
8bcedf9
Merge remote-tracking branch 'yambo-gpl/tech-master'
sangallidavide Jul 25, 2024
a4906f6
fix overflow
muralidhar-nalabothula Jul 25, 2024
5b96845
Merge remote-tracking branch 'yambo-gpl/tech-master'
sangallidavide Jul 25, 2024
b173720
Initial implementation of porting Ydiago, PL, pertubative not coded
muralidhar-nalabothula Jul 25, 2024
7456c06
add a comment
muralidhar-nalabothula Jul 25, 2024
eb83226
Coded first version for linking automatically ydiago library from Mu…
sangallidavide Jul 26, 2024
1b65a83
Merge pull request #1 from sangallidavide/tech-ydiago
muralidhar-nalabothula Jul 26, 2024
c7d6024
Version 5.2.0, Revision 23112, Hash eb83226ef7
sangallidavide Jul 26, 2024
869332d
Version 5.2.0, Revision 23113, Hash c7d6024b08
sangallidavide Jul 26, 2024
791d0f2
Merge branch 'master' into tech-ydiago
sangallidavide Jul 26, 2024
4aa351b
Merge pull request #2 from sangallidavide/tech-ydiago
muralidhar-nalabothula Jul 27, 2024
a1711f0
Fix ugly warning: Allocation attempt of ** of zero size
muralidhar-nalabothula Jul 27, 2024
cf4b0f4
Fix ugly warning: Allocation attempt of ** of zero size
muralidhar-nalabothula Jul 27, 2024
e2d0a4f
clean up
muralidhar-nalabothula Jul 29, 2024
2fed193
fix compilation
muralidhar-nalabothula Jul 29, 2024
14dd0ce
Fix residuals, geev not working yet
muralidhar-nalabothula Jul 30, 2024
3ca1370
Fix Geev solver
muralidhar-nalabothula Jul 31, 2024
1b0084d
Fix broken haydock
muralidhar-nalabothula Jul 31, 2024
04e53d9
Fix pointer bug in residuals
muralidhar-nalabothula Jul 31, 2024
607db76
Started perturbative residuals
muralidhar-nalabothula Aug 1, 2024
e91670d
Started perturbative residuals
muralidhar-nalabothula Aug 1, 2024
2f9fcd9
Fix diago for very small matrices
muralidhar-nalabothula Aug 1, 2024
e3992c2
Fix pert residuals
muralidhar-nalabothula Aug 2, 2024
7989c68
Merge branch 'master_maintain'
muralidhar-nalabothula Aug 4, 2024
e54a21c
fix out-of-bound that is crashing kernel
muralidhar-nalabothula Aug 4, 2024
bac1c32
fix BSS_io_crash
muralidhar-nalabothula Aug 4, 2024
1f8bd87
free bs_blks when not required
muralidhar-nalabothula Aug 9, 2024
0ca8dc5
Maximize number of cpus in blacs grid
muralidhar-nalabothula Aug 9, 2024
1cb670b
Version 5.2.0, Revision 23334, Hash 0ca8dc5695
sangallidavide Aug 18, 2024
b7fb286
Version 5.2.0, Revision 23335, Hash 1cb670b55c
sangallidavide Aug 18, 2024
8327008
Version 5.2.0, Revision 23336, Hash b7fb28602c
sangallidavide Aug 23, 2024
f6626b1
use new io only when compiled with MPI
muralidhar-nalabothula Aug 24, 2024
53f7a0b
Merge remote-tracking branch 'murali/master' into tech-ydiago
sangallidavide Aug 24, 2024
3b554d8
Merge pull request #4 from sangallidavide/tech-ydiago
muralidhar-nalabothula Aug 24, 2024
8710eda
Version 5.2.0, Revision 23339, Hash 53f7a0b
sangallidavide Aug 29, 2024
683ea1e
changes related to overlap
muralidhar-nalabothula Sep 2, 2024
bd2db59
Merge pull request #117 from muralidhar-nalabothula/master
sangallidavide Sep 4, 2024
008fc9e
Merge branch 'tech-ydiago' of github.com:sangallidavide/yambo into te…
sangallidavide Sep 4, 2024
aa3b0f6
Version 5.2.0, Revision 23344, Hash 008fc9e543
sangallidavide Sep 4, 2024
6d299c8
Merge pull request #5 from sangallidavide/tech-ydiago
muralidhar-nalabothula Sep 4, 2024
9dcf51b
Finalize ydiago implementation
muralidhar-nalabothula Sep 4, 2024
646007d
MODIFIED * config/m4/acx_report.m4 config/m4/scalapack.m4 config/rep…
sangallidavide Sep 4, 2024
2ee4529
Version 5.2.0, Revision 23346, Hash 646007d316
sangallidavide Sep 4, 2024
60ca160
Merge pull request #6 from sangallidavide/tech-ydiago
muralidhar-nalabothula Sep 5, 2024
abfad31
Version 5.2.0, Revision 23347, Hash 2ee452913d
sangallidavide Sep 5, 2024
4520c1d
Version 5.2.0, Revision 23348, Hash abfad31b2a
sangallidavide Sep 5, 2024
2833e6f
Version 5.2.0, Revision 23349, Hash 4520c1de03
sangallidavide Sep 5, 2024
8dae858
Version 5.2.0, Revision 23350, Hash 2833e6f4c7
sangallidavide Sep 5, 2024
30a9074
Merge pull request #129 from sangallidavide/tech-ydiago
sangallidavide Sep 5, 2024
16a0911
Merge pull request #7 from muralidhar-nalabothula/tech-ydiago
muralidhar-nalabothula Sep 5, 2024
851ac70
fix bug when not compilled with slepc
muralidhar-nalabothula Sep 5, 2024
6dcd20e
Version 5.2.0, Revision 23351, Hash 8dae85853
sangallidavide Sep 5, 2024
fd6bb8d
Version 5.2.0, Revision 23352, Hash 6dcd20e30
sangallidavide Sep 5, 2024
7a8eb6c
Merge pull request #130 from muralidhar-nalabothula/master
sangallidavide Sep 5, 2024
756ad20
Version 5.2.0, Revision 23351, Hash 8dae85853c
sangallidavide Sep 5, 2024
f9a9405
Version 5.2.0, Revision 23354, Hash 756ad20dc5
sangallidavide Sep 5, 2024
0d39dff
Version 5.2.0, Revision 23350, Hash 2833e6f
sangallidavide Sep 5, 2024
e6e6e36
Merge branch 'tech-ydiago' of github.com:sangallidavide/yambo into te…
sangallidavide Sep 5, 2024
27edf4b
Fix bug in maxval bug when compiling with elpa support
muralidhar-nalabothula Sep 6, 2024
1693280
Version 5.2.0, Revision 23357, Hash e6e6e36ac9
sangallidavide Sep 6, 2024
12c461b
Version 5.2.0, Revision 23358, Hash 1693280440
sangallidavide Sep 6, 2024
008fec0
Merge remote-tracking branch 'yambo-gpl/tech-ydiago' into tech-ydiago
sangallidavide Sep 6, 2024
379bb64
Merge pull request #8 from sangallidavide/tech-ydiago
muralidhar-nalabothula Sep 6, 2024
3ac7e23
Merge pull request #131 from sangallidavide/tech-ydiago
sangallidavide Sep 6, 2024
f0aa9fb
Cleanup
muralidhar-nalabothula Sep 7, 2024
5eb9549
Merge remote-tracking branch 'yambo-gpl/tech-gpu' into tech-ydiago
sangallidavide Sep 8, 2024
c01b76f
Merge remote-tracking branch 'yambo-gpl/tech-gpu' into tech-ydiago
sangallidavide Sep 8, 2024
ef8b18d
Version 5.2.0, Revision 23665, Hash c01b76f287
sangallidavide Sep 8, 2024
85c2ddd
Merge remote-tracking branch 'yambo-gpl/tech-gpu' into tech-ydiago
sangallidavide Sep 8, 2024
5386cf2
Version 5.2.0, Revision 23670, Hash 85c2dddc01
sangallidavide Sep 8, 2024
8155d8c
Version 5.2.0, Revision 23671, Hash 5386cf2466
sangallidavide Sep 8, 2024
cef1182
cleanup
muralidhar-nalabothula Sep 9, 2024
58e3770
Merge pull request #133 from muralidhar-nalabothula/master
sangallidavide Sep 9, 2024
f42aa2b
Merge remote-tracking branch 'yambo-gpl/tech-ydiago' into tech-ydiago
sangallidavide Sep 9, 2024
7cf136a
Merge remote-tracking branch 'yambo-gpl/maintenance-master'
sangallidavide Sep 14, 2024
4900277
Merge branch 'tech-master' into tech-ydiago
sangallidavide Sep 24, 2024
ea3019b
Merge remote-tracking branch 'yambo-gpl/tech-ydiago' into tech-ydiago
sangallidavide Sep 27, 2024
b2a12e8
Version 5.2.0, Revision 23684, Hash ea3019b037
sangallidavide Sep 27, 2024
0ded1d1
Merge remote-tracking branch 'yambo-gpl/tech-gpu' into tech-ydiago
sangallidavide Sep 27, 2024
d34e127
Merge remote-tracking branch 'yambo-gpl/tech-master'
sangallidavide Oct 4, 2024
ac8431c
Merge branch 'tech-master' into tech-ydiago
sangallidavide Oct 10, 2024
a1b232d
Version 5.2.0, Revision 23381, Hash ac8431c56c
sangallidavide Oct 10, 2024
e7f5d97
Merge remote-tracking branch 'yambo-gpl/tech-master'
sangallidavide Oct 12, 2024
58a2a54
Merge remote-tracking branch 'yambo-gpl/tech-ydiago' into tech-ydiago
sangallidavide Oct 12, 2024
8db05ff
Merge remote-tracking branch 'yambo-gpl/tech-gpu' into tech-ydiago
sangallidavide Oct 12, 2024
b4ef395
Merge branch 'tech-slk' into tech-ydiago
sangallidavide Oct 13, 2024
c315d57
Merge remote-tracking branch 'yambo-gpl/tech-master'
sangallidavide Oct 13, 2024
e366ce9
Version 5.2.0, Revision 23719, Hash 8db05ffc2d
sangallidavide Oct 20, 2024
c571d4a
Merge remote-tracking branch 'yambo-gpl/tech-gpu'
sangallidavide Oct 20, 2024
b15ba8e
Merge branch 'master' into tech-ydiago
sangallidavide Oct 20, 2024
ed7dfec
Merge remote-tracking branch 'yambo-gpl/tech-gpu'
sangallidavide Oct 22, 2024
998aefc
Merge branch 'master' into tech-ydiago
sangallidavide Oct 22, 2024
ea85491
Merge remote-tracking branch 'sangallidavide/tech-ydiago' into tech-y…
sangallidavide Oct 22, 2024
b4d8300
Merge branch 'tech-master' into tech-ydiago
sangallidavide Oct 24, 2024
735ff34
Merge branch 'tech-master' into tech-ydiago
sangallidavide Nov 21, 2024
6986352
Merge branch 'tech-master' into tech-ydiago
sangallidavide Nov 26, 2024
73ec5bf
Version 5.3.0, Revision 23920, Hash 6986352af7
sangallidavide Nov 26, 2024
b6d0148
Version 5.3.0, Revision 23921, Hash 73ec5bfc04
sangallidavide Nov 27, 2024
b704d94
fix bugs
muralidhar-nalabothula Dec 3, 2024
452185e
Merge pull request #159 from muralidhar-nalabothula/tech-ydaigo
sangallidavide Dec 3, 2024
38f4896
Version 5.3.0, Revision 23922, Hash b6d01483bf
sangallidavide Dec 5, 2024
16ce88f
Version 5.3.0, Revision 23898, Hash 54a4f5c593
sangallidavide Dec 20, 2024
e51825f
Version 5.3.0, Revision 23899, Hash 16ce88f8e
attacc Jan 8, 2025
9b232be
Version 5.3.0, Revision 23900, Hash e51825f30
attacc Jan 10, 2025
d6b0df7
Version 5.3.0, Revision 23901, Hash 9b232be44
attacc Jan 16, 2025
b732332
Version 5.3.0, Revision 23902, Hash d6b0df737
attacc Jan 16, 2025
6709ff5
Version 5.3.0, Revision 23903, Hash b73233268
attacc Jan 16, 2025
c848b73
Elpa Openmp Fix
Petru-Milev Jan 16, 2025
b37bd75
Merge pull request #169 from Petru-Milev/tech_ydiago
sangallidavide Jan 16, 2025
9f0c310
cleanup
andrea-ferretti Jan 18, 2025
8a51017
fix of NL using nvfortran + openmp (+cudaF, possibly irrelevant here)
andrea-ferretti Jan 18, 2025
67fc946
Version 5.3.0, Revision 23906, Hash 8a510177c
attacc Jan 19, 2025
4d8d018
Merge remote-tracking branch 'origin/5.3' into tech-ydiago
sangallidavide Jan 20, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ include/system/*
lib/install/make_iotk.inc
lib/iotk/make.sys
lib/iotk/make_iotk.inc
lib/ydiago/make_ydiago.inc
lib/yambo
lib/*/*stamp
lib/*/package-installed
Expand All @@ -77,10 +78,12 @@ lib/*/lapack-*
lib/*/fftw-*
lib/*/blacs*
lib/*/scalapack-*
lib/*/elpa-*
lib/*/petsc-*
lib/*/slepc-*
lib/*/futile*
lib/*/yaml*
lib/*/Ydiago*
lib/*/devicexlib*
lib/hdf5/hdf5*
lib/external/*
Expand Down
4 changes: 4 additions & 0 deletions config/configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ AC_CONFIG_SRCDIR([driver/yambo.F])
#
m4_include([config/m4/yambo_remote_compilation_setup.m4])
m4_include([config/m4/yambo_specific.m4])
m4_include([config/m4/yambo_diago.m4])
#
# General
#
Expand Down Expand Up @@ -259,6 +260,9 @@ m4_include([config/m4/device_xlib.m4])
#
AC_LANG_PUSH(Fortran)
# ============================================================================
# Yambo Libs
AC_YDIAGO
# ============================================================================
# YDB/YAMBOpy
ACX_SCRIPTS
# ============================================================================
Expand Down
4 changes: 2 additions & 2 deletions config/m4/acx_fortran_flags.m4
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ i?86*linux*)
DEBUG_FLAGS="-g -Minform=inform -Mbounds -Mchkptr -Mchkstk -Meh_frame -Mbackslash"
;;
*nvfortran* )
SYSFLAGS="-O1 -gopt -Mnoframe -Mdalign -Mbackslash -cpp"
SYSFLAGS="-O1 -gopt -Mnoframe -Mdalign -Mbackslash -cpp -c++libs"
FUFLAGS="-O0 -Mbackslash"
FCMFLAG="-Mnomain"
OMPFLAGS="-mp"
Expand Down Expand Up @@ -296,7 +296,7 @@ aarch*linux* | arm*linux* )
DEBUG_FLAGS="-g "
;;
*pgf9* | *ftn* | *pgfortran* | *nvfortran* )
SYSFLAGS="-O1 -gopt -Mnoframe -Mdalign -Mbackslash -cpp"
SYSFLAGS="-O1 -gopt -Mnoframe -Mdalign -Mbackslash -cpp -c++libs"
#SYSFLAGS="-O2 -g -Munroll -Mnoframe -Mdalign -Mbackslash -cpp"
FUFLAGS="-O0 -g -Mbackslash -cpp"
FCMFLAG="-Mnomain"
Expand Down
22 changes: 22 additions & 0 deletions config/m4/acx_report.m4
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,13 @@ if test "$internal_slk" = "yes" ; then
if test "$compile_slk" = "no" ; then SLK_check="I"; fi
fi
#
ELPA_check="-"
if test "$enable_elpa" = "yes" ; then ELPA_check="E"; fi
if test "$internal_elpa" = "yes" ; then
if test "$compile_elpa" = "yes"; then ELPA_check="C"; fi
if test "$compile_elpa" = "no" ; then ELPA_check="I"; fi
fi
#
BLACS_check="-"
if test "$enable_scalapack" = "yes" ; then BLACS_check="E"; fi
if test "$internal_blacs" = "yes" ; then
Expand Down Expand Up @@ -222,6 +229,7 @@ AC_SUBST(BLAS_check)
AC_SUBST(LAPACK_check)
AC_SUBST(BLACS_check)
AC_SUBST(SLK_check)
AC_SUBST(ELPA_check)
AC_SUBST(PETSC_check)
AC_SUBST(SLEPC_check)
#
Expand All @@ -236,6 +244,13 @@ AC_SUBST(MPI_info)
#
# STRIPE [LIB] from paths
#
ACX_STRIPE_SUBPATH2($YDIAGO_LIBS,"LIB")
YDIAGO_LIBS_R=$STRIPE
ACX_STRIPE_SUBPATH2($YDIAGO_INCS,"INC")
YDIAGO_INCS_R=$STRIPE
AC_SUBST(YDIAGO_LIBS_R)
AC_SUBST(YDIAGO_INCS_R)
#
ACX_STRIPE_SUBPATH($IOTK_LIBS,"LIB")
IOTK_LIBS_R=$STRIPE
ACX_STRIPE_SUBPATH($IOTK_INCS,"INC")
Expand Down Expand Up @@ -313,6 +328,13 @@ SCALAPACK_INCS_R=$STRIPE
AC_SUBST(SCALAPACK_LIBS_R)
AC_SUBST(SCALAPACK_INCS_R)
#
ACX_STRIPE_SUBPATH($ELPA_LIBS,"LIB")
ELPA_LIBS_R=$STRIPE
ACX_STRIPE_SUBPATH($ELPA_INCS,"INC")
ELPA_INCS_R=$STRIPE
AC_SUBST(ELPA_LIBS_R)
AC_SUBST(ELPA_INCS_R)
#
ACX_STRIPE_SUBPATH($BLACS_LIBS,"LIB")
BLACS_LIBS_R=$STRIPE
ACX_STRIPE_SUBPATH($BLACS_INCS,"INC")
Expand Down
11 changes: 11 additions & 0 deletions config/m4/acx_stripe_subpath.m4
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,14 @@ if [[ -z "${1// }" ]]; then
STRIPE="$STRIPE ($2)"
fi
])

AC_DEFUN([ACX_STRIPE_SUBPATH2],
[
TMP1=`echo $1 | sed 's/\//+/g'`
TMP2=`echo $compdir | sed 's/\//+/g'`
TMP3=`echo $TMP1 | sed "s/$TMP2/\(CMP\)/g"`
STRIPE=`echo $TMP3 | sed 's/+/\//g'`
if [[ -z "${1// }" ]]; then
STRIPE="$STRIPE ($2)"
fi
])
92 changes: 92 additions & 0 deletions config/m4/scalapack.m4
Original file line number Diff line number Diff line change
Expand Up @@ -11,25 +11,48 @@ AC_DEFUN([AC_SLK_SETUP],[
AC_ARG_ENABLE(par_linalg, AS_HELP_STRING([--enable-par-linalg],[Use parallel linear algebra. Default is no]))
AC_ARG_WITH(blacs_libs, [AS_HELP_STRING([--with-blacs-libs=(libs|mkl)],[Use BLACS libraries <libs> or setup MKL],[32])])
AC_ARG_WITH(scalapack_libs,[AS_HELP_STRING([--with-scalapack-libs=(libs|mkl)],[Use SCALAPACK libraries <libs> or setup MKL],[32])])
AC_ARG_WITH(elpa_libs, [AS_HELP_STRING([--with-elpa-libs=(libs)],[Use ELPA libraries <libs>],[32])])
AC_ARG_WITH(elpa_includedir,AS_HELP_STRING([--with-elpa-includedir=<path>],[Path to the elpa include directory],[32]))

SCALAPACK_LIBS=""
BLACS_LIBS=""
ELPA_LIBS=""
ELPA_INCS=""

reset_LIBS="$LIBS"

enable_scalapack="no"
enable_blacs="no"
enable_elpa="no"

internal_slk="no"
internal_blacs="no"
internal_elpa="no"

compile_slk="no"
compile_blacs="no"
compile_elpa="no"

#
# Set fortran linker names of BLACS/SCALAPACK functions to check for.
#
blacs_routine="blacs_set"
scalapack_routine="pcheev"
elpa_routine="elpa_init"
mpi_routine=MPI_Init
#
AC_LANG([Fortran])
testprog_elpa="AC_LANG_PROGRAM([],[
use elpa
!class(elpa_t), pointer :: elpa
integer :: success
! We urge the user to always check the error code of all ELPA functions
if (elpa_init(20200417) /= elpa_ok) then
print *, 'ELPA API version not supported'
stop
endif
])"
#
# Search for MKL-Scalapack
#
try_mkl_scalapack="no"
Expand Down Expand Up @@ -85,6 +108,12 @@ case $with_scalapack_libs in
*) enable_scalapack="check"; SCALAPACK_LIBS="$with_scalapack_libs" ;;
esac
#
case $with_elpa_libs in
yes) enable_elpa="internal" ;;
no) enable_elpa="no" ;;
*) enable_elpa="check"; ELPA_LIBS="$with_elpa_libs" ; ELPA_INCS="$IFLAG$with_elpa_includedir" ;;
esac
#
if test "$mpibuild" = "yes"; then
#
if test "$enable_blacs" = "check" ; then
Expand Down Expand Up @@ -121,6 +150,27 @@ if test "$mpibuild" = "yes"; then
fi
fi
#
if test "$enable_elpa" = "check" ; then
acx_elpa_save_LIBS="$ELPA_LIBS"
LIBS="$LIBS $FLIBS $SCALAPACK_LIBS $LAPACK_LIBS $BLAS_LIBS $BLACS_LIBS"
# First, check ELPA_LIBS environment variable
if test "x$ELPA_LIBS" != x; then
save_LIBS="$LIBS"; LIBS="$ELPA_LIBS $LIBS"
save_FCFLAGS="$FCFLAGS"; FCFLAGS="$ELPA_INCS/modules/ $FCFLAGS"
#AC_MSG_CHECKING([for $elpa_routine in $ELPA_LIBS])
#AC_TRY_LINK_FUNC($elpa_routine, [enable_elpa="yes"], [enable_elpa="internal"; ELPA_LIBS=""])
#AC_MSG_RESULT($enable_elpa)
AC_MSG_CHECKING([for $elpa_routine in $ELPA_LIBS])
AC_LINK_IFELSE($testprog_elpa, [enable_elpa="yes"; elpa_msg="yes"], [enable_elpa="internal"; elpa_msg="not working, fallback to internal"; ELPA_LIBS=""])
AC_MSG_RESULT($enable_elpa)
ELPA_LIBS="$acx_elpa_save_LIBS"
LIBS="$save_LIBS"
FCFLAGS="$save_FCFLAGS"
else
enable_elpa="no";
fi
fi
#
if test x"$enable_par_linalg" = "xyes"; then
if test x"$enable_int_linalg" = "xyes"; then
enable_blacs="internal";
Expand All @@ -131,6 +181,14 @@ if test "$mpibuild" = "yes"; then
fi
fi
#
#if test x"$enable_par_linalg" = "xyes"; then
# if test x"$enable_int_linalg" = "xyes"; then
# enable_elpa="internal";
# else
# if test "$enable_elpa" = "no"; then enable_elpa="internal"; fi
# fi
#fi
#
if test "$mpif_found" = "yes" && test "$enable_blacs" = "internal"; then
enable_blacs="yes";
internal_blacs="yes";
Expand All @@ -153,31 +211,65 @@ if test "$mpibuild" = "yes"; then
fi
fi
#
if test "$mpif_found" = "yes" && test "$enable_elpa" = "internal"; then
enable_elpa="yes"
internal_elpa="yes"
ELPA_LIBS="${extlibs_path}/${FCKIND}/${FC}/${GPU_SUPPORT}/lib/libelpa.a"
ELPA_INCS="${IFLAG}${extlibs_path}/${FCKIND}/${FC}/${GPU_SUPPORT}/include/"
if test -e "${extlibs_path}/${FCKIND}/${FC}/${GPU_SUPPORT}/lib/libelpa.a"; then
compile_elpa="no"
else
compile_elpa="yes"
fi
fi
#
fi
#
if test "$enable_blacs" = "yes" && test "$enable_scalapack" = "yes" ; then
def_scalapack="-D_SCALAPACK"
if test "$enable_elpa" = "yes" ; then
def_elpa="-D_ELPA"
else
enable_elpa="no"
def_elpa=""
ELPA_LIBS=""
ELPA_INCS=""
compile_elpa="no"
internal_elpa="no"
fi
else
enable_scalapack="no"
enable_blacs="no"
enable_elpa="no"
def_scalapack=""
def_elpa=""
BLACS_LIBS=""
SCALAPACK_LIBS=""
ELPA_LIBS=""
ELPA_INCS=""
compile_blacs="no"
compile_slk="no"
compile_elpa="no"
internal_blacs="no"
internal_slk="no"
internal_elpa="no"
fi
#
LIBS="$reset_LIBS"
#
AC_SUBST(BLACS_LIBS)
AC_SUBST(SCALAPACK_LIBS)
AC_SUBST(ELPA_LIBS)
AC_SUBST(ELPA_INCS)
AC_SUBST(enable_scalapack)
AC_SUBST(enable_elpa)
AC_SUBST(def_scalapack)
AC_SUBST(def_elpa)
AC_SUBST(compile_slk)
AC_SUBST(internal_slk)
AC_SUBST(compile_blacs)
AC_SUBST(internal_blacs)
AC_SUBST(compile_elpa)
AC_SUBST(internal_elpa)

])
30 changes: 30 additions & 0 deletions config/m4/yambo_diago.m4
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#
# License-Identifier: GPL
#
# Copyright (C) 2016 The Yambo Team
#
# Authors (see AUTHORS file for details): AM
#
AC_DEFUN([AC_YDIAGO],[

#
AC_ARG_WITH(ydiago-branch,[AS_HELP_STRING([--with-ydiago-branch=<branch>],[Use the <branch> of the ydiago repository.],[32])],,[with_ydiago_branch=none])
#
AC_CONFIG_FILES([lib/ydiago/make_ydiago.inc:lib/ydiago/make_ydiago.inc.in])
if test x"$with_ydiago_branch" = "xnone"; then
ydiago_check="D";
else
ydiago_check="G";
fi
#YDIAGO_LIBS="${extlibs_path}/${FCKIND}/${FC}/lib/libydiago.a"
#YDIAGO_INCS="$IFLAG${extlibs_path}/${FCKIND}/${FC}/include/"
YDIAGO_LIBS="${compdir}/lib/libydiago.a"
YDIAGO_INCS="$IFLAG${compdir}/include/"

AC_SUBST(YDIAGO_LIBS)
AC_SUBST(YDIAGO_INCS)

AC_SUBST(ydiago_check)
AC_SUBST(with_ydiago_branch)

])
4 changes: 4 additions & 0 deletions config/mk/global/actions/compile_external_libraries.mk
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,11 @@ blacs: scalapack
@if test "$(do_blacs)" = yes ; then LIBS="blacs" ; BASE="lib"; $(MAKE) $(MAKEFLAGS) blacs-dl; $(mk_external_lib); fi
scalapack: lapack
@if test "$(do_slk)" = yes ; then LIBS="scalapack" ; BASE="lib"; $(MAKE) $(MAKEFLAGS) scalapack-dl ; $(mk_external_lib); fi
elpa: scalapack blacs
@if test "$(do_elpa)" = yes ; then LIBS="elpa" ; BASE="lib"; $(MAKE) $(MAKEFLAGS) elpa-dl ; $(mk_external_lib); fi
petsc:
@if test "$(do_petsc)" = yes ; then LIBS="petsc" ; BASE="lib"; $(MAKE) $(MAKEFLAGS) petsc-dl; $(mk_external_lib); fi
slepc: petsc
@if test "$(do_slepc)" = yes ; then LIBS="slepc" ; BASE="lib"; $(MAKE) $(MAKEFLAGS) slepc-dl; $(mk_external_lib); fi
ydiago: scalapack blacs elpa
@if test "$(do_ydiago)" = yes ; then LIBS="ydiago" ; BASE="lib"; $(MAKE) $(MAKEFLAGS) ydiago-dl; $(mk_external_lib); fi
4 changes: 4 additions & 0 deletions config/mk/global/actions/download_external_libraries.mk
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,11 @@ blacs-dl:
@LIB2DO="blacs"; $(get_external_libraries)
scalapack-dl:
@LIB2DO="scalapack"; $(get_external_libraries)
elpa-dl:
@LIB2DO="elpa"; $(get_external_libraries)
petsc-dl:
@LIB2DO="petsc"; $(get_external_libraries)
slepc-dl:
@LIB2DO="slepc"; $(get_external_libraries)
ydiago-dl:
@LIB2DO="ydiago"; $(get_external_libraries)
5 changes: 4 additions & 1 deletion config/mk/global/defs.mk.in
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,15 @@ mpi = @def_mpi@
make = @MAKE@
netcdf = @def_netcdf@
scalapack = @def_scalapack@
elpa = @def_elpa@
slepc = @def_slepc@
fft = @def_fft@
xcpp = @def_netcdf@ @def_mpi@ @def_fft@ @def_slepc@ @def_scalapack@ @def_compiler@ @def_dp@ @def_openmp@ @def_time_profile@ @def_memory_profile@ @def_uspp@ @def_gpu@ @def_yaml@
xcpp = @def_netcdf@ @def_mpi@ @def_fft@ @def_slepc@ @def_scalapack@ @def_elpa@ @def_compiler@ @def_dp@ @def_openmp@ @def_time_profile@ @def_memory_profile@ @def_uspp@ @def_gpu@ @def_yaml@
p2ycpp = @PW_CPP@
keep_objs = @enable_keep_objects@
do_blacs = @compile_blacs@
do_slk = @compile_slk@
do_elpa = @compile_elpa@
do_lapack = @compile_lapack@
do_fftw = @compile_fftw@
do_fftqe = @compile_fftqe@
Expand All @@ -33,6 +35,7 @@ do_libxc = @compile_libxc@
do_devxlib = @compile_devxlib@
do_petsc = @compile_petsc@
do_slepc = @compile_slepc@
do_ydiago = yes
shell = @SHELL@
package_bugreport = @PACKAGE_BUGREPORT@
prefix = @prefix@
Expand Down
Loading