summaryrefslogtreecommitdiff
path: root/benchmarks/hpl
diff options
context:
space:
mode:
authorThierry Thomas <thierry@FreeBSD.org>2023-11-02 22:01:06 +0100
committerThierry Thomas <thierry@FreeBSD.org>2023-12-31 16:18:39 +0100
commit6379a25b53e6988f825bddd0057e00871b9ebffe (patch)
treee0f65f79707e28a1189a2688fbcc28839e389e50 /benchmarks/hpl
parentx11-drivers/xorgxrdp: rebuild with xrdp 0.9.24 (diff)
benchmarks/hpl: let’s choose among various BLAS × MPI implementations
- Add a license - Add options to choose MPI and BLAS implementations. - Do not bump PORTREVISION because the default remains Netlib (excepted static vs shared libs). - And also this fixes the port with BLAS 3.12 Caveat: may install an unneeded liblapack. PR: 274882, 275860 Approved by: maintainer’s time-out
Diffstat (limited to 'benchmarks/hpl')
-rw-r--r--benchmarks/hpl/Makefile43
1 files changed, 30 insertions, 13 deletions
diff --git a/benchmarks/hpl/Makefile b/benchmarks/hpl/Makefile
index d8cde4f8ef35..e34c23d8e39c 100644
--- a/benchmarks/hpl/Makefile
+++ b/benchmarks/hpl/Makefile
@@ -8,36 +8,53 @@ MAINTAINER= oliver@FreeBSD.org
COMMENT= High Performance Computing Linpack Benchmark
WWW= https://www.netlib.org/benchmark/hpl/
-LIB_DEPENDS= libblas.so:math/blas \
- libmpich.so:net/mpich
+LICENSE= BSD4CLAUSE
+LICENSE_FILE= ${WRKSRC}/www/copyright.html
USES= fortran
-USE_LDCONFIG= yes
HPL_ARCH?= FreeBSD_PIV_CBLAS
MAKE_ARGS= arch=${HPL_ARCH}
ALL_TARGET= build
-OPTIONS_DEFINE= DOCS
+OPTIONS_DEFINE= DOCS
+OPTIONS_RADIO= BLAS MPI
+OPTIONS_RADIO_BLAS= ATLAS BLIS FLEXIBLAS NETLIB OPENBLAS
+OPTIONS_RADIO_MPI= MPICH OPENMPI
+OPTIONS_DEFAULT= NETLIB MPICH
+BLIS_DESC= BLAS implementation from FLAME
+FLEXIBLAS_DESC= BLAS and LAPACK wrapper library
-post-patch:
- @${REINPLACE_CMD} -e 's|^TOPdir[ ]*=.*$$|TOPdir = ${WRKSRC}| ; \
+ATLAS_USES= blaslapack:atlas
+BLIS_USES= blaslapack:blis
+FLEXIBLAS_USES= blaslapack:flexiblas
+NETLIB_USES= blaslapack:netlib
+OPENBLAS_USES= blaslapack:openblas
+
+MPICH_USES= mpi:mpich
+OPENMPI_USES= mpi:openmpi
+
+CFLAGS+= -fomit-frame-pointer -funroll-loops
+
+pre-configure:
+ ${REINPLACE_CMD} -e 's|^TOPdir[ ]*=.*$$|TOPdir = ${WRKSRC}| ; \
s|^MPdir[ ]*=.*$$|MPdir = ${LOCALBASE}| ; \
s|^LAdir[ ]*=.*$$|LAdir = ${LOCALBASE}| ; \
s|^CC[ ]*=.*$$|CC = ${CC}| ; \
- s|^CCFLAGS[ ]*=.*$$|CCFLAGS = $$\(HPL_DEFS\) ${CFLAGS} -fomit-frame-pointer -funroll-loops| ; \
+ s|^CCFLAGS[ ]*=.*$$|CCFLAGS = $$\(HPL_DEFS\) ${CFLAGS}| ; \
s|^LINKER[ ]*=.*$$|LINKER = ${FC}| ; \
s|^LINKFLAGS[ ]*=\(.*\)$$|LINKFLAGS =\1 ${LDFLAGS}| ; \
s|^ARCHIVER[ ]*=.*$$|ARCHIVER = ${AR}| ; \
s|ARCH[ )]|_&|g ; \
s|^HPL_OPTS[ ]*=.*$$|HPL_OPTS =| ; \
- s|^LAlib[ ]*=.*$$|LAlib = $$\(LAdir\)/lib/libblas.a| ; \
- s|libmpich.a|libmpich.so -lpthread| ; \
- s|libpmpich.a|libmpl.so -lpthread|' \
+ s|^LAlib[ ]*=.*$$|LAlib = ${BLASLIB}| ; \
+ s|^MPdir[ ]*=.*$$|MPdir = ${MPI_HOME}| ; \
+ s|^MPinc[ ]*=.*$$|MPinc = ${MPI_CFLAGS}| ; \
+ s|^MPlib[ ]*=.*$$|MPlib = ${MPI_LIBS}|' \
${WRKSRC}/setup/Make.${HPL_ARCH}
- @${REINPLACE_CMD} -e 's|HPL\.dat|${PREFIX}/etc/${PORTNAME}/&|' \
+ ${REINPLACE_CMD} -e 's|HPL\.dat|${PREFIX}/etc/${PORTNAME}/&|' \
${WRKSRC}/testing/ptest/HPL_pdinfo.c
- @${CP} ${WRKSRC}/setup/Make.${HPL_ARCH} ${WRKSRC}/
- @${REINPLACE_CMD} -e '/^build/s|$$| startup|' ${WRKSRC}/Makefile
+ ${CP} ${WRKSRC}/setup/Make.${HPL_ARCH} ${WRKSRC}/
+ ${REINPLACE_CMD} -e '/^build/s|$$| startup|' ${WRKSRC}/Makefile
do-install:
${MKDIR} ${STAGEDIR}${ETCDIR}