elpa: new build-block added
This commit is contained in:
72
MPI/elpa/build
Executable file
72
MPI/elpa/build
Executable file
@@ -0,0 +1,72 @@
|
||||
#!/usr/bin/env modbuild
|
||||
|
||||
pbuild::set_download_url "http://elpa.mpcdf.mpg.de/html/Releases/${V_PKG}/$P-${V_PKG}.tar.gz"
|
||||
pbuild::add_to_group 'MPI'
|
||||
pbuild::use_autotools
|
||||
pbuild::install_docfiles 'COPYING/COPYING'
|
||||
pbuild::install_docfiles 'COPYING/gpl.txt'
|
||||
pbuild::install_docfiles 'COPYING/lgpl.txt'
|
||||
|
||||
pbuild::supported_os Linux
|
||||
pbuild::supported_compilers Intel
|
||||
|
||||
pbuild::pre_configure() {
|
||||
local -r MKL_LIBRARY_DIR=${MKLROOT}/lib/intel64
|
||||
local -r MKL_INCLUDE_DIR=${MKLROOT}/include
|
||||
|
||||
local -a flags=()
|
||||
if pbuild::use_flag "omp"; then
|
||||
flags+=('-qopenmp')
|
||||
pbuild::add_configure_args "--enable-openmp"
|
||||
else
|
||||
flags+=('-qno-openmp')
|
||||
fi
|
||||
flags+=('-O2' '-fPIC' '-g')
|
||||
flags+=('-fp-model precise' '-funroll-loops')
|
||||
flags+=('-traceback' '-xHost')
|
||||
|
||||
local -a cflags=()
|
||||
cflags+=("${flags[@]}")
|
||||
cflags+=('-I${MKL_INCLUDE_DIR}')
|
||||
|
||||
local -a fcflags=()
|
||||
fcflags+=("${flags[@]}")
|
||||
fcflags+=( '-fpp' '-free')
|
||||
fcflags+=("-I${MKL_INCLUDE_DIR}/intel64/lp64")
|
||||
|
||||
local -a ldflags=()
|
||||
ldflags+=("-L${MKL_LIBRARY_DIR}")
|
||||
ldflags+=('-lmkl_scalapack_lp64' '-lmkl_intel_lp64' '-lmkl_sequential')
|
||||
ldflags+=('-lmkl_core' '-lmkl_blacs_intelmpi_lp64' '-lpthread')
|
||||
|
||||
local -a scalapack_fcflags=()
|
||||
scalapack_fcflags+=( "${ldflags[@]}" )
|
||||
scalapack_fcflags+=("-I${MKL_INCLUDE_DIR}/intel64/lp64")
|
||||
|
||||
local -a scalapack_ldflags=()
|
||||
scalapack_ldflags+=( "${ldflags[@]}" )
|
||||
scalapack_ldflags+=("-Wl,-rpath,${MKL_LIBRARY_DIR}")
|
||||
|
||||
pbuild::add_configure_args "CC=${MPICC}"
|
||||
pbuild::add_configure_args "CXX=${MPICXX}"
|
||||
pbuild::add_configure_args "FC=${MPIFC}"
|
||||
pbuild::add_configure_args "CFLAGS=${cflags[*]}"
|
||||
pbuild::add_configure_args "CXXFLAGS=${cflags[*]}"
|
||||
pbuild::add_configure_args "FCFLAGS=${fcflags[*]}"
|
||||
pbuild::add_configure_args "LDFLAGS=${ldflags[*]}"
|
||||
pbuild::add_configure_args "SCALAPACK_FCFLAGS=${scalapack_fcflags[*]}"
|
||||
pbuild::add_configure_args "SCALAPACK_LDLAGS=${scalapack_ldflags[*]}"
|
||||
pbuild::add_configure_args "--disable-shared"
|
||||
pbuild::add_configure_args "--enable-static"
|
||||
pbuild::add_configure_args "--enable-avx512"
|
||||
}
|
||||
|
||||
pbuild::post_install() {
|
||||
if pbuild::use_flag "omp"; then
|
||||
ln -fs "elpa_openmp-${V_PKG}/elpa" "${PREFIX}/include/elpa"
|
||||
ln -fs "elpa_openmp-${V_PKG}/modules" "${PREFIX}/include/modules"
|
||||
else
|
||||
ln -fs "elpa-${V_PKG}/elpa" "${PREFIX}/include/elpa"
|
||||
ln -fs "elpa-${V_PKG}/modules" "${PREFIX}/include/modules"
|
||||
fi
|
||||
}
|
||||
2
MPI/elpa/files/variants.rhel6
Normal file
2
MPI/elpa/files/variants.rhel6
Normal file
@@ -0,0 +1,2 @@
|
||||
elpa/2019.05.001 unstable intel/19.4 impi/19.4
|
||||
elpa/2019.05.001_omp unstable intel/19.4 impi/19.4
|
||||
36
MPI/elpa/modulefile
Normal file
36
MPI/elpa/modulefile
Normal file
@@ -0,0 +1,36 @@
|
||||
#%Module1.0
|
||||
|
||||
module-whatis "Eigenvalue SoLvers for Petaflop-Applications"
|
||||
module-url "https://elpa.mpcdf.mpg.de"
|
||||
module-license "GNU LGPL, version 3"
|
||||
module-maintainer "Achim Gsell <achim.gsell@psi.ch>"
|
||||
module-help "
|
||||
The computation of selected or all eigenvalues and eigenvectors of a
|
||||
symmetric (Hermitian) matrix has high relevance for various scientific
|
||||
disciplines.
|
||||
|
||||
For the calculation of a significant part of the eigensystem typically
|
||||
direct eigensolvers are used. For large problems, the eigensystem
|
||||
calculations with existing solvers can become the computational
|
||||
bottleneck.
|
||||
|
||||
As a consequence, the ELPA project was initiated with the aim to
|
||||
develop and implement an efficient eigenvalue solver for petaflop
|
||||
applications, supported by the German Federal Government, through
|
||||
BMBF Grant 01IH08007, from Dec 2008 to Nov 2011.
|
||||
|
||||
The challenging task has been addressed through a multi-disciplinary
|
||||
consortium of partners with complementary skills in different areas.
|
||||
|
||||
As project outcome, the highly scalable and efficient direct eigen-
|
||||
solvers LPA have been developed. The ELPA library was publicly
|
||||
released in May 2011.
|
||||
|
||||
Since the end of BMBF Grant 01IH08007 in Nov 2011, the ELPA library
|
||||
has been maintained by RZG - renamed to MPCDF in 2015.
|
||||
|
||||
Through the BMBF Grant 01IH15001 (Project ELPA-AEO from Feb 2016 to
|
||||
Jan 2019) the ELPA library could be further optimized, enhanced and
|
||||
ported to new architectures.
|
||||
"
|
||||
|
||||
Reference in New Issue
Block a user