Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 Apr 2023 08:27:08 GMT
From:      Thierry Thomas <thierry@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 3eb5a6be9e4b - main - benchmarks/imb: upgrade to 2021.3
Message-ID:  <202304160827.33G8R8j4074432@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by thierry:

URL: https://cgit.FreeBSD.org/ports/commit/?id=3eb5a6be9e4b6c2119ed2753376da7a55bb96e79

commit 3eb5a6be9e4b6c2119ed2753376da7a55bb96e79
Author:     Thierry Thomas <thierry@FreeBSD.org>
AuthorDate: 2023-04-16 08:18:59 +0000
Commit:     Thierry Thomas <thierry@FreeBSD.org>
CommitDate: 2023-04-16 08:18:59 +0000

    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).
---
 benchmarks/imb/Makefile                            | 60 ++++++++++++----------
 benchmarks/imb/distinfo                            |  5 +-
 benchmarks/imb/files/patch-IMB__declare.h          | 10 ----
 benchmarks/imb/files/patch-make__mpich             | 18 -------
 benchmarks/imb/files/patch-src__c_P2P_Makefile     | 11 ++++
 .../imb/files/patch-src__cpp_args__parser.cpp      | 24 +++++++++
 benchmarks/imb/files/patch-src__cpp_args__parser.h | 10 ++++
 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202304160827.33G8R8j4074432>