aboutsummaryrefslogtreecommitdiffstats
path: root/math
diff options
context:
space:
mode:
authoryuri <yuri@FreeBSD.org>2018-08-30 06:03:23 +0800
committeryuri <yuri@FreeBSD.org>2018-08-30 06:03:23 +0800
commitea6a6ab50065cd31412e7d5d66f41fd72fada067 (patch)
treeda80797e9e39d685a8cbc8791120e884f0b65a5b /math
parent6e8975f3fb8f9aa24ed8dd83c7fe87f78a2072cf (diff)
downloadfreebsd-ports-gnome-ea6a6ab50065cd31412e7d5d66f41fd72fada067.tar.gz
freebsd-ports-gnome-ea6a6ab50065cd31412e7d5d66f41fd72fada067.tar.zst
freebsd-ports-gnome-ea6a6ab50065cd31412e7d5d66f41fd72fada067.zip
New port: math/elpa: Eigenvalue soLver for Petaflop Applications
Diffstat (limited to 'math')
-rw-r--r--math/Makefile1
-rw-r--r--math/elpa/Makefile48
-rw-r--r--math/elpa/distinfo3
-rw-r--r--math/elpa/files/patch-configure21
-rw-r--r--math/elpa/pkg-descr7
-rw-r--r--math/elpa/pkg-plist60
6 files changed, 140 insertions, 0 deletions
diff --git a/math/Makefile b/math/Makefile
index fda241686e13..d713c80bc5f7 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -180,6 +180,7 @@
SUBDIR += eigen2
SUBDIR += eigen3
SUBDIR += eispack
+ SUBDIR += elpa
SUBDIR += emc2
SUBDIR += ent
SUBDIR += entropy
diff --git a/math/elpa/Makefile b/math/elpa/Makefile
new file mode 100644
index 000000000000..566e7dab95ad
--- /dev/null
+++ b/math/elpa/Makefile
@@ -0,0 +1,48 @@
+# $FreeBSD$
+
+PORTNAME= elpa
+DISTVERSION= 2018.05.001
+CATEGORIES= math
+MASTER_SITES= http://elpa.mpcdf.mpg.de/html/Releases/${DISTVERSION}/
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Eigenvalue soLver for Petaflop Applications
+
+LICENSE= GPLv3 LGPL3
+LICENSE_COMB= dual
+LICENSE_FILE_GPLv3= ${WRKSRC}/COPYING/gpl.txt
+LICENSE_FILE_LGPL3= ${WRKSRC}/COPYING/lgpl.txt
+
+LIB_DEPENDS= libopenblas.so:math/openblas
+
+USES= fortran gmake libtool localbase perl5 shebangfix
+SHEBANG_GLOB= *.pl
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS= --disable-avx --disable-avx2 --disable-static
+USE_LDCONFIG= yes
+
+BINARY_ALIAS= make=gmake gcc=gcc${GCC_DEFAULT} g++=g++${GCC_DEFAULT} # build fails with clang: recursively calls cc
+FCFLAGS+= -I${LOCALBASE}/include
+
+OPTIONS_DEFINE= OPENMP MPI DOCS
+OPTIONS_DEFINE_amd64= SSE
+OPTIONS_DEFAULT_amd64= SSE
+
+SSE_CFLAGS= -msse3
+OPENMP_CONFIGURE_ENABLE= openmp
+MPI_CONFIGURE_WITH= mpi
+MPI_LIB_DEPENDS= libmpich.so:net/mpich2 \
+ libscalapack.so:math/scalapack
+
+PORTDOCS= *
+
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:NSSE}
+CONFIGURE_ARGS+= --disable-sse --disable-sse-assembly
+.endif
+
+post-install-DOCS-on:
+ @cd ${STAGEDIR}${DOCSDIR} && ${RM} *gpl* COPYING LICENSE
+
+.include <bsd.port.mk>
diff --git a/math/elpa/distinfo b/math/elpa/distinfo
new file mode 100644
index 000000000000..e8e17fbff0cd
--- /dev/null
+++ b/math/elpa/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1535560304
+SHA256 (elpa-2018.05.001.tar.gz) = a76c3402eb9d1c19b183aedabde8c20f4cfa4692e73e529384207926aec04985
+SIZE (elpa-2018.05.001.tar.gz) = 1202447
diff --git a/math/elpa/files/patch-configure b/math/elpa/files/patch-configure
new file mode 100644
index 000000000000..d5cc1b605b19
--- /dev/null
+++ b/math/elpa/files/patch-configure
@@ -0,0 +1,21 @@
+--- configure.orig 2018-08-29 19:42:22 UTC
++++ configure
+@@ -23453,15 +23453,15 @@ postdeps_FC=$(echo $postdeps_FC | sed 's
+
+ if test x"${with_mpi}" = x"yes"; then
+ if test x"${enable_openmp}" = x"yes"; then
+- SUFFIX="_openmp"
++ SUFFIX=""
+ else
+ SUFFIX=""
+ fi
+ else
+ if test x"${enable_openmp}" = x"yes"; then
+- SUFFIX="_onenode_openmp"
++ SUFFIX=""
+ else
+- SUFFIX="_onenode"
++ SUFFIX=""
+ fi
+ fi
+
diff --git a/math/elpa/pkg-descr b/math/elpa/pkg-descr
new file mode 100644
index 000000000000..f2194e0d273f
--- /dev/null
+++ b/math/elpa/pkg-descr
@@ -0,0 +1,7 @@
+The ELPA library provides highly efficient and highly scalable direct
+eigensolvers for symmetric matrices. Though especially designed for use for
+PetaFlop/s applications solving large problem sizes on massively parallel
+supercomputers, ELPA eigensolvers have proven to be also very efficient for
+smaller matrices.
+
+WWW: https://elpa.mpcdf.mpg.de/
diff --git a/math/elpa/pkg-plist b/math/elpa/pkg-plist
new file mode 100644
index 000000000000..4c2ebf295db4
--- /dev/null
+++ b/math/elpa/pkg-plist
@@ -0,0 +1,60 @@
+bin/elpa2_print_kernels
+include/elpa-2018.05.001/elpa/elpa.h
+include/elpa-2018.05.001/elpa/elpa_constants.h
+include/elpa-2018.05.001/elpa/elpa_generated.h
+include/elpa-2018.05.001/elpa/elpa_generated_legacy.h
+include/elpa-2018.05.001/elpa/elpa_generic.h
+include/elpa-2018.05.001/elpa/elpa_legacy.h
+include/elpa-2018.05.001/modules/elpa.mod
+include/elpa-2018.05.001/modules/elpa1.mod
+include/elpa-2018.05.001/modules/elpa1_auxiliary.mod
+include/elpa-2018.05.001/modules/elpa2.mod
+include/elpa-2018.05.001/modules/elpa2_utilities.mod
+include/elpa-2018.05.001/modules/elpa_api.mod
+include/elpa-2018.05.001/modules/elpa_constants.mod
+include/elpa-2018.05.001/modules/elpa_driver.mod
+include/elpa-2018.05.001/modules/elpa_utilities.mod
+lib/libelpa.so
+lib/libelpa.so.11
+lib/libelpa.so.11.1.0
+libdata/pkgconfig/elpa-2018.05.001.pc
+man/man1/elpa2_print_kernels.1.gz
+man/man3/elpa_allocate.3.gz
+man/man3/elpa_autotune_deallocate.3.gz
+man/man3/elpa_autotune_set_best.3.gz
+man/man3/elpa_autotune_setup.3.gz
+man/man3/elpa_autotune_step.3.gz
+man/man3/elpa_cholesky.3.gz
+man/man3/elpa_deallocate.3.gz
+man/man3/elpa_eigenvalues.3.gz
+man/man3/elpa_eigenvectors.3.gz
+man/man3/elpa_generalized_eigenvalues.3.gz
+man/man3/elpa_generalized_eigenvectors.3.gz
+man/man3/elpa_get_communicators.3.gz
+man/man3/elpa_hermitian_multiply.3.gz
+man/man3/elpa_init.3.gz
+man/man3/elpa_invert_triangular.3.gz
+man/man3/elpa_invert_trm_complex_double.3.gz
+man/man3/elpa_invert_trm_complex_single.3.gz
+man/man3/elpa_invert_trm_real_double.3.gz
+man/man3/elpa_invert_trm_real_single.3.gz
+man/man3/elpa_mult_ah_b_complex_double.3.gz
+man/man3/elpa_mult_ah_b_complex_single.3.gz
+man/man3/elpa_mult_at_b_real_double.3.gz
+man/man3/elpa_mult_at_b_real_single.3.gz
+man/man3/elpa_set.3.gz
+man/man3/elpa_setup.3.gz
+man/man3/elpa_solve_evp_complex_1stage_double.3.gz
+man/man3/elpa_solve_evp_complex_2stage_double.3.gz
+man/man3/elpa_solve_evp_complex_double.3.gz
+man/man3/elpa_solve_evp_complex_single.3.gz
+man/man3/elpa_solve_evp_real_1stage_double.3.gz
+man/man3/elpa_solve_evp_real_2stage_double.3.gz
+man/man3/elpa_solve_evp_real_double.3.gz
+man/man3/elpa_solve_evp_real_single.3.gz
+man/man3/elpa_solve_tridiagonal.3.gz
+man/man3/elpa_uninit.3.gz
+man/man3/solve_evp_complex_1stage_double.3.gz
+man/man3/solve_evp_complex_2stage_double.3.gz
+man/man3/solve_evp_real_1stage_double.3.gz
+man/man3/solve_evp_real_2stage_double.3.gz