pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

elpa: add package for the hugely parallel linear solver



Module Name:	pkgsrc-wip
Committed By:	Dr. Thomas Orgis <thomas.orgis%uni-hamburg.de@localhost>
Pushed By:	thor
Date:		Thu Sep 22 18:47:01 2022 +0200
Changeset:	d69ca75f51f2222447c97d9edb00a60ea28fe5db

Modified Files:
	Makefile
Added Files:
	elpa/DESCR
	elpa/Makefile
	elpa/PLIST
	elpa/distinfo
	elpa/options.mk
	elpa/patches/patch-configure

Log Message:
elpa: add package for the hugely parallel linear solver

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=d69ca75f51f2222447c97d9edb00a60ea28fe5db

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 Makefile                     |  1 +
 elpa/DESCR                   | 12 +++++++++
 elpa/Makefile                | 27 +++++++++++++++++++
 elpa/PLIST                   | 63 ++++++++++++++++++++++++++++++++++++++++++++
 elpa/distinfo                |  6 +++++
 elpa/options.mk              | 23 ++++++++++++++++
 elpa/patches/patch-configure | 24 +++++++++++++++++
 7 files changed, 156 insertions(+)

diffs:
diff --git a/Makefile b/Makefile
index c9c5a2fc67..c0660612b3 100644
--- a/Makefile
+++ b/Makefile
@@ -762,6 +762,7 @@ SUBDIR+=	elinks-libmm
 SUBDIR+=	elinks-snapshot
 SUBDIR+=	elixir-cross-ref
 SUBDIR+=	elk
+SUBDIR+=	elpa
 SUBDIR+=	elogind
 SUBDIR+=	elscreen-git
 SUBDIR+=	emacs-git
diff --git a/elpa/DESCR b/elpa/DESCR
new file mode 100644
index 0000000000..37318cbd47
--- /dev/null
+++ b/elpa/DESCR
@@ -0,0 +1,12 @@
+Eigenvalue SoLvers for Petaflop-Applications (ELPA)
+
+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.
diff --git a/elpa/Makefile b/elpa/Makefile
new file mode 100644
index 0000000000..d232ede656
--- /dev/null
+++ b/elpa/Makefile
@@ -0,0 +1,27 @@
+# $NetBSD$
+
+DISTNAME=	elpa-2022.05.001
+CATEGORIES=	math parallel
+MASTER_SITES=	https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/2022.05.001/
+
+MAINTAINER=	thomas.orgis%uni-hamburg.de@localhost
+HOMEPAGE=	https://elpa.mpcdf.mpg.de/
+COMMENT=	Eigenvalue soLvers for Petaflop Applications
+LICENSE=	gnu-lgpl-v3
+
+GNU_CONFIGURE=	yes
+USE_LIBTOOL=	yes
+USE_TOOLS+=	gmake pkg-config perl
+USE_LANGUAGES=	c c++ fortran
+
+CONFIGURE_ARGS+=	FC=mpifort CPP=cpp
+
+PKGCONFIG_OVERRIDE+=	elpa.pc.in
+
+.include "../../devel/libevent/buildlink3.mk"
+.include "../../mk/mpi.buildlink3.mk"
+.include "../../math/scalapack/buildlink3.mk"
+
+.include "options.mk"
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/elpa/PLIST b/elpa/PLIST
new file mode 100644
index 0000000000..80e9a84302
--- /dev/null
+++ b/elpa/PLIST
@@ -0,0 +1,63 @@
+@comment $NetBSD$
+${PERL5_SUB_INSTALLSCRIPT}/elpa2_print_kernels
+include/${PKGNAME}/elpa/elpa.h
+include/${PKGNAME}/elpa/elpa_constants.h
+include/${PKGNAME}/elpa/elpa_generated.h
+include/${PKGNAME}/elpa/elpa_generated_c_api.h
+include/${PKGNAME}/elpa/elpa_generic.h
+include/${PKGNAME}/elpa/elpa_simd_constants.h
+include/${PKGNAME}/elpa/elpa_version.h
+include/${PKGNAME}/modules/elpa.mod
+include/${PKGNAME}/modules/elpa_api.mod
+include/${PKGNAME}/modules/elpa_constants.mod
+include/${PKGNAME}/src/helpers/lapack_interfaces.h
+include/${PKGNAME}/src/helpers/scalapack_interfaces.h
+lib/libelpa.la
+lib/pkgconfig/elpa.pc
+man/man1/elpa2_print_kernels.1
+man/man3/elpa_allocate.3
+man/man3/elpa_autotune_deallocate.3
+man/man3/elpa_autotune_load_state.3
+man/man3/elpa_autotune_print_state.3
+man/man3/elpa_autotune_save_state.3
+man/man3/elpa_autotune_set_best.3
+man/man3/elpa_autotune_setup.3
+man/man3/elpa_autotune_step.3
+man/man3/elpa_cholesky.3
+man/man3/elpa_deallocate.3
+man/man3/elpa_eigenvalues.3
+man/man3/elpa_eigenvalues_double.3
+man/man3/elpa_eigenvalues_double_complex.3
+man/man3/elpa_eigenvalues_float.3
+man/man3/elpa_eigenvalues_float_complex.3
+man/man3/elpa_eigenvectors.3
+man/man3/elpa_eigenvectors_double.3
+man/man3/elpa_eigenvectors_double_complex.3
+man/man3/elpa_eigenvectors_float.3
+man/man3/elpa_eigenvectors_float_complex.3
+man/man3/elpa_generalized_eigenvalues.3
+man/man3/elpa_generalized_eigenvectors.3
+man/man3/elpa_hermitian_multiply.3
+man/man3/elpa_init.3
+man/man3/elpa_invert_triangular.3
+man/man3/elpa_load_settings.3
+man/man3/elpa_print_settings.3
+man/man3/elpa_set.3
+man/man3/elpa_setup.3
+man/man3/elpa_skew_eigenvalues.3
+man/man3/elpa_skew_eigenvectors.3
+man/man3/elpa_solve_tridiagonal.3
+man/man3/elpa_store_settings.3
+man/man3/elpa_uninit.3
+share/doc/elpa/CONTRIBUTING.md
+share/doc/elpa/COPYING
+share/doc/elpa/Changelog
+share/doc/elpa/INSTALL.md
+share/doc/elpa/LICENSE
+share/doc/elpa/PERFORMANCE_TUNING.md
+share/doc/elpa/README.md
+share/doc/elpa/USERS_GUIDE.md
+share/doc/elpa/gpl.txt
+share/doc/elpa/lgpl.txt
+share/doc/elpa/mpi_elpa1.png
+share/doc/elpa/mpi_elpa2.png
diff --git a/elpa/distinfo b/elpa/distinfo
new file mode 100644
index 0000000000..d923ab9f62
--- /dev/null
+++ b/elpa/distinfo
@@ -0,0 +1,6 @@
+$NetBSD$
+
+BLAKE2s (elpa-2022.05.001.tar.gz) = 36d0d19c8b7848f5d64884ff7452c5adc757283602da8d94901e7678c71dccff
+SHA512 (elpa-2022.05.001.tar.gz) = 85445d7d06dbb42630483394da5b1fab427eec9aa5bb25e6cff2986ca23f95f46606e889af713d528e6199081358bc665aec2d1fe9e77f57612f9f2888becd63
+Size (elpa-2022.05.001.tar.gz) = 1522284 bytes
+SHA1 (patch-configure) = f6121c943913a5bf906340e6f933c0ef55fe4235
diff --git a/elpa/options.mk b/elpa/options.mk
new file mode 100644
index 0000000000..528be7a347
--- /dev/null
+++ b/elpa/options.mk
@@ -0,0 +1,23 @@
+# $NetBSD$
+
+PKG_OPTIONS_VAR=	PKG_OPTIONS.elpa
+
+# Things do not build if your CPU or compiler setup does not
+# support the instruction sets. We assume SSE3 and first-gen
+# AVX to be available. Is that good?
+PKG_SUPPORTED_OPTIONS=	avx2 avx512
+PKG_SUGGESTED_OPTIONS=
+
+.include "../../mk/bsd.options.mk"
+
+.if !empty(PKG_OPTIONS:Mavx2)
+CONFIGURE_ARGS+=	--enable-avx2
+.else
+CONFIGURE_ARGS+=	--disable-avx2
+.endif
+
+.if !empty(PKG_OPTIONS:Mavx512)
+CONFIGURE_ARGS+=	--enable-avx512
+.else
+CONFIGURE_ARGS+=	--disable-avx512
+.endif
diff --git a/elpa/patches/patch-configure b/elpa/patches/patch-configure
new file mode 100644
index 0000000000..e5354f7413
--- /dev/null
+++ b/elpa/patches/patch-configure
@@ -0,0 +1,24 @@
+$NetBSD$
+
+portability
+
+--- configure.orig	2022-09-16 13:39:33.834688191 +0000
++++ configure
+@@ -14592,7 +14592,7 @@ printf %s "checking whether double-preci
+ 
+   $CC $CFLAGS -c $srcdir/src/elpa2/kernels/asm_x86_64_double_precision.s -o conftest.o 2>&5
+ 
+-  if test "$?" == 0; then
++  if test "$?" = 0; then
+     can_compile_sse_asm_double=yes
+   else
+     can_compile_sse_asm_double=no
+@@ -14610,7 +14610,7 @@ printf %s "checking whether single-preci
+ 
+     $CC $CFLAGS -c $srcdir/src/elpa2/kernels/asm_x86_64_single_precision.s -o conftest.o 2>&5
+ 
+-    if test "$?" == 0; then
++    if test "$?" = 0; then
+       can_compile_sse_asm_single=yes
+     else
+       can_compile_sse_asm_single=no


Home | Main Index | Thread Index | Old Index