Files
ports/benchmarks/imb/Makefile
T
Robert Clausecker 03a6814500 benchmarks/imb: not for 32 bit architectures
The code bases uses %lu or PRIu64 to print size_t values in various
places.  Elsewhere it assumes size_t is 64 bits, such as when
evaluating ((size_t)1) << IMB_P2P_MAX_MSG_LOG where
IMB_P2P_MAX_MSG_LOG is greater than 31.

Approved by:	portmgr (build fix blanket)
MFH:		2026Q2
2026-06-28 12:59:29 +02:00

66 lines
1.8 KiB
Makefile

PORTNAME= IMB
DISTVERSIONPREFIX= IMB-v
DISTVERSION= 2021.11
CATEGORIES= benchmarks parallel
MAINTAINER= laurent@FreeBSD.org
COMMENT= Intel(R) MPI Benchmark
WWW= https://software.intel.com/en-us/imb-user-guide
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/license/license.txt
NOT_FOR_ARCHS= armv7 i386 powerpc
NOT_FOR_ARCHS_REASON= 64-bit size_t assumed in various places
FLAVORS= mpich openmpi
FLAVOR?= ${FLAVORS:[1]}
openmpi_PKGNAMESUFFIX= -openmpi
USES= gmake localbase mpi:${FLAVOR}
USE_CXXSTD= c++14
USE_GITHUB= yes
GH_ACCOUNT= intel
GH_PROJECT= mpi-benchmarks
MAKE_ENV= MPI_HOME=${MPI_HOME}
# 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.
OPT_CFLAGS= -O3
CFLAGS+= ${OPT_CFLAGS} ${MPI_CFLAGS}
CXXFLAGS+= -fopenmp
LDFLAGS+= -Wl,-rpath,/lib ${MPI_LIBS} -fopenmp
CC= ${MPICC}
CXX= ${MPICXX}
DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}-${FLAVOR}
BINARY_ALIAS= make=${GMAKE}
PLIST_SUB= FLAVOR=${FLAVOR}
OPTIONS_DEFINE= CHECK_RESULTS DOCS
# 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
do-install:
@for benchmark in ${WRKSRC}/IMB-*; do \
${INSTALL_PROGRAM} $${benchmark} \
${STAGEDIR}${PREFIX}/bin/$${benchmark##*/}-${FLAVOR}; \
done
do-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${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>