diff options
author | Thierry Thomas <thierry@FreeBSD.org> | 2023-04-16 08:18:59 +0000 |
---|---|---|
committer | Thierry Thomas <thierry@FreeBSD.org> | 2023-04-16 08:18:59 +0000 |
commit | 3eb5a6be9e4b6c2119ed2753376da7a55bb96e79 (patch) | |
tree | d90fd670fac89f8c6314d34feb9ce5ae0b62ffef | |
parent | 80005b36f006b1c195e11759e4b966025b14235b (diff) | |
download | ports-3eb5a6be9e4b6c2119ed2753376da7a55bb96e79.tar.gz ports-3eb5a6be9e4b6c2119ed2753376da7a55bb96e79.zip |
benchmarks/imb: upgrade to 2021.3
This port was very outdated: releases notes are available at
<https://github.com/intel/mpi-benchmarks/releases>.
The PDF is no more included but the user guide is available at
<https://software.intel.com/en-us/imb-user-guide>.
Also modernize the port and switch from OpenMPI 3 to OpenMPI4 (optiopnal,
MPICH still being the default).
-rw-r--r-- | benchmarks/imb/Makefile | 60 | ||||
-rw-r--r-- | benchmarks/imb/distinfo | 5 | ||||
-rw-r--r-- | benchmarks/imb/files/patch-IMB__declare.h | 10 | ||||
-rw-r--r-- | benchmarks/imb/files/patch-make__mpich | 18 | ||||
-rw-r--r-- | benchmarks/imb/files/patch-src__c_P2P_Makefile | 11 | ||||
-rw-r--r-- | benchmarks/imb/files/patch-src__cpp_args__parser.cpp | 24 | ||||
-rw-r--r-- | benchmarks/imb/files/patch-src__cpp_args__parser.h | 10 | ||||
-rw-r--r-- | benchmarks/imb/pkg-plist | 8 |
8 files changed, 88 insertions, 58 deletions
diff --git a/benchmarks/imb/Makefile b/benchmarks/imb/Makefile index 13228b8fdde8..3f4f1003f58d 100644 --- a/benchmarks/imb/Makefile +++ b/benchmarks/imb/Makefile @@ -1,49 +1,57 @@ -PORTNAME= imb -PORTVERSION= 3.0 -PORTREVISION= 17 +PORTNAME= IMB +DISTVERSIONPREFIX= v +DISTVERSION= 2021.3 CATEGORIES= benchmarks parallel -MASTER_SITES= LOCAL/itetcu \ - http://cache-www.intel.com/cd/00/00/32/71/ -DISTNAME= 327191_327191 -EXTRACT_SUFX= .gz +MASTER_SITES= https://github.com/intel/mpi-benchmarks/archive/refs/tags/ MAINTAINER= ports@FreeBSD.org COMMENT= Intel MPI Benchmark +WWW= https://software.intel.com/en-us/imb-user-guide + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/license/license.txt + +#USE_GITHUB= yes +#GH_ACCOUNT= intel +#GH_PROJECT= mpi-benchmarks + +USES= gmake localbase +BINARY_ALIAS= make=${GMAKE} + +WRKSRC= ${WRKDIR}/mpi-benchmarks-${DISTNAME} -WRKSRC= ${WRKDIR}/IMB_3.0/src/ -USES= dos2unix gmake -MAKEFILE= make_mpich # Intel hardcodes -O3 in make_mpich. Replacing it with system defaults # would make it impossible to compare benchmark results with other systems. # By putting it here we make it easier for somebody to change it, if they # _really_ want it. -CFLAGS= -O3 - -MAKE_JOBS_UNSAFE=yes - -OPTIONS_DEFINE= CHECK_RESULTS DOCS OPENMPI +OPT_CFLAGS= -O3 +CC= ${MPICC} +CXX= ${MPICXX} +CFLAGS+= ${OPT_CFLAGS} ${MPI_CFLAGS} +LDFLAGS+= ${MPI_LIBS} +MAKE_ENV= MPI_HOME=${MPI_HOME} + +OPTIONS_DEFINE= CHECK_RESULTS DOCS +OPTIONS_RADIO= MPI +OPTIONS_RADIO_MPI= MPICH OPENMPI +OPTIONS_DEFAULT= MPICH # Attention: -DCHECK results are not valid as real benchmark data! Don't # forget to deactivate DCHECK and recompile in order to get proper results. CHECK_RESULTS_DESC= Check results (not valid as real benchmark data) CHECK_RESULTS_CFLAGS= -DCHECK -OPENMPI_BUILD_DEPENDS= ${LOCALBASE}/mpi/openmpi3/lib/libmpi.so:net/openmpi3 -OPENMPI_RUN_DEPENDS= ${LOCALBASE}/mpi/openmpi3/bin/mpirun:net/openmpi3 -OPENMPI_MAKE_ENV= MPI_HOME=${LOCALBASE}/mpi/openmpi3 -OPENMPI_BUILD_DEPENDS_OFF= ${LOCALBASE}/bin/mpicc:net/mpich -OPENMPI_RUN_DEPENDS_OFF= ${LOCALBASE}/bin/mpirun:net/mpich -OPENMPI_MAKE_ENV_OFF= MPI_HOME=${LOCALBASE} +MPICH_USES= mpi:mpich +OPENMPI_USES= mpi:openmpi do-install: - (cd ${WRKSRC} && ${INSTALL_PROGRAM} IMB-EXT IMB-IO IMB-MPI1 \ - ${STAGEDIR}${PREFIX}/bin) + (cd ${WRKSRC} && ${INSTALL_PROGRAM} IMB-* ${STAGEDIR}${PREFIX}/bin) do-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} - ${INSTALL_DATA} ${WRKDIR}/IMB_3.0/doc/IMB_ug-3.0.pdf ${STAGEDIR}${DOCSDIR} - ${INSTALL_DATA} ${WRKDIR}/IMB_3.0/license/license.txt ${STAGEDIR}${DOCSDIR} - ${INSTALL_DATA} ${WRKDIR}/IMB_3.0/license/use-of-trademark-license.txt \ + ${INSTALL_DATA} ${WRKSRC}/ReadMe_IMB.txt ${STAGEDIR}${DOCSDIR} + ${INSTALL_DATA} ${WRKSRC}/license/third-party-programs.txt ${STAGEDIR}${DOCSDIR} + ${INSTALL_DATA} ${WRKSRC}/license/use-of-trademark-license.txt \ ${STAGEDIR}${DOCSDIR} .include <bsd.port.mk> diff --git a/benchmarks/imb/distinfo b/benchmarks/imb/distinfo index 984c30bc8835..c9ab740128e0 100644 --- a/benchmarks/imb/distinfo +++ b/benchmarks/imb/distinfo @@ -1,2 +1,3 @@ -SHA256 (327191_327191.gz) = 5014ec12ae5dc05b1373b47b41d26fe518bc41fe5c77899eb400a25dd9c3ec53 -SIZE (327191_327191.gz) = 464188 +TIMESTAMP = 1681570443 +SHA256 (IMB-v2021.3.tar.gz) = 9b58a4a7eef7c0c877513152340948402fd87cb06270d2d81308dc2ef740f4c7 +SIZE (IMB-v2021.3.tar.gz) = 221038 diff --git a/benchmarks/imb/files/patch-IMB__declare.h b/benchmarks/imb/files/patch-IMB__declare.h deleted file mode 100644 index 7dbf858d52e2..000000000000 --- a/benchmarks/imb/files/patch-IMB__declare.h +++ /dev/null @@ -1,10 +0,0 @@ ---- IMB_declare.h.orig 2016-07-27 14:58:51 UTC -+++ IMB_declare.h -@@ -69,7 +69,6 @@ For more documentation than found here, - #include <stdio.h> - #include <stdlib.h> - #include <string.h> --#include <malloc.h> - #include <stddef.h> - #include "IMB_appl_errors.h" - #include "IMB_err_check.h" diff --git a/benchmarks/imb/files/patch-make__mpich b/benchmarks/imb/files/patch-make__mpich deleted file mode 100644 index 32b2b1a644b7..000000000000 --- a/benchmarks/imb/files/patch-make__mpich +++ /dev/null @@ -1,18 +0,0 @@ ---- make_mpich.orig 2016-07-27 14:58:51 UTC -+++ make_mpich -@@ -1,5 +1,5 @@ - # Enter root directory of mpich install --MPI_HOME= -+#MPI_HOME= - - MPICC=$(shell find ${MPI_HOME} -name mpicc -print) - -@@ -12,7 +12,7 @@ endif - LIB_PATH = - LIBS = - CC = ${MPI_HOME}/bin/mpicc --OPTFLAGS = -O3 -+OPTFLAGS = ${CFLAGS} - CLINKER = ${CC} - LDFLAGS = - CPPFLAGS = diff --git a/benchmarks/imb/files/patch-src__c_P2P_Makefile b/benchmarks/imb/files/patch-src__c_P2P_Makefile new file mode 100644 index 000000000000..f8884706e99e --- /dev/null +++ b/benchmarks/imb/files/patch-src__c_P2P_Makefile @@ -0,0 +1,11 @@ +--- src_c/P2P/Makefile.orig 2021-10-01 13:09:19 UTC ++++ src_c/P2P/Makefile +@@ -50,7 +50,7 @@ BINARY:=IMB-P2P + TARGET=P2P + BINARY:=IMB-P2P + +-override CFLAGS += -O3 -Wall -Wextra -pedantic -Wno-long-long ++override CFLAGS += -Wall -Wextra -pedantic -Wno-long-long + override LDFLAGS += -lm + + ifeq ($(origin CC),default) diff --git a/benchmarks/imb/files/patch-src__cpp_args__parser.cpp b/benchmarks/imb/files/patch-src__cpp_args__parser.cpp new file mode 100644 index 000000000000..be14a05b618f --- /dev/null +++ b/benchmarks/imb/files/patch-src__cpp_args__parser.cpp @@ -0,0 +1,24 @@ +--- src_cpp/args_parser.cpp.orig 2021-10-01 13:09:19 UTC ++++ src_cpp/args_parser.cpp +@@ -299,7 +299,7 @@ void args_parser::print_help_advice() const { + #endif + + void args_parser::print_help_advice() const { +- sout << "Try \"" << basename(argv[0]) << " " << option_starter << "help\" for usage information" << endl; ++ sout << "Try \"" << basename(const_cast<char*>(argv[0])) << " " << option_starter << "help\" for usage information" << endl; + } + + // NOTE: This one is just to loop over expected_args 2-level array in a easier way. +@@ -381,10 +381,10 @@ void args_parser::print_help() const { + void args_parser::print_help() const { + if (program_name.size() != 0) + sout << program_name << endl; +- sout << "Usage: " << basename(argv[0]) << " "; ++ sout << "Usage: " << basename(const_cast<char*>(argv[0])) << " "; + string header; + header += "Usage: "; +- header += basename(argv[0]); ++ header += basename(const_cast<char*>(argv[0])); + header += " "; + size_t size = min(header.size(), (size_t)16); + string tab(size - 2, ' '); diff --git a/benchmarks/imb/files/patch-src__cpp_args__parser.h b/benchmarks/imb/files/patch-src__cpp_args__parser.h new file mode 100644 index 000000000000..ac6df75e7c84 --- /dev/null +++ b/benchmarks/imb/files/patch-src__cpp_args__parser.h @@ -0,0 +1,10 @@ +--- src_cpp/args_parser.h.orig 2021-10-01 13:09:19 UTC ++++ src_cpp/args_parser.h +@@ -52,6 +52,7 @@ goods and services. + #include <iostream> + #include <sstream> + #include <assert.h> ++#include <libgen.h> + #include <string> + #include <map> + #include <set> diff --git a/benchmarks/imb/pkg-plist b/benchmarks/imb/pkg-plist index 31993f2563ad..36506631b8d1 100644 --- a/benchmarks/imb/pkg-plist +++ b/benchmarks/imb/pkg-plist @@ -1,6 +1,10 @@ bin/IMB-EXT bin/IMB-IO bin/IMB-MPI1 -%%PORTDOCS%%%%DOCSDIR%%/IMB_ug-3.0.pdf -%%PORTDOCS%%%%DOCSDIR%%/license.txt +bin/IMB-MT +bin/IMB-NBC +bin/IMB-P2P +bin/IMB-RMA +%%PORTDOCS%%%%DOCSDIR%%/ReadMe_IMB.txt +%%PORTDOCS%%%%DOCSDIR%%/third-party-programs.txt %%PORTDOCS%%%%DOCSDIR%%/use-of-trademark-license.txt |