pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/parallel/openmpi parallel/openmpi: update to 4.1.4
details: https://anonhg.NetBSD.org/pkgsrc/rev/8720e1bc3adf
branches: trunk
changeset: 384015:8720e1bc3adf
user: thor <thor%pkgsrc.org@localhost>
date: Thu Aug 25 22:09:14 2022 +0000
description:
parallel/openmpi: update to 4.1.4
This is a long overdue update with some refinements, notably
default-on f90 option.
We skipped some major releases, so please excuse me not including
the whole changelog. See https://open-mpi.org for more information.
diffstat:
parallel/openmpi/DESCR | 10 +-
parallel/openmpi/Makefile | 80 +-
parallel/openmpi/PLIST | 441 ++-------
parallel/openmpi/buildlink3.mk | 6 +-
parallel/openmpi/distinfo | 19 +-
parallel/openmpi/options.mk | 17 +-
parallel/openmpi/patches/patch-aa | 23 -
parallel/openmpi/patches/patch-ai | 53 -
parallel/openmpi/patches/patch-aj | 60 -
parallel/openmpi/patches/patch-ak | 4 +-
parallel/openmpi/patches/patch-configure | 228 +---
parallel/openmpi/patches/patch-ompi_mca_io_romio321_romio_configure | 15 +
parallel/openmpi/patches/patch-ompi_mca_sharedfp_sm_sharedfp__sm.c | 14 +
parallel/openmpi/patches/patch-opal_asm_asm-data.txt | 14 -
parallel/openmpi/patches/patch-opal_tools_wrappers_opal__wrapper.c | 32 +
15 files changed, 318 insertions(+), 698 deletions(-)
diffs (truncated from 1397 to 300 lines):
diff -r 2b55a0ae3793 -r 8720e1bc3adf parallel/openmpi/DESCR
--- a/parallel/openmpi/DESCR Thu Aug 25 21:47:05 2022 +0000
+++ b/parallel/openmpi/DESCR Thu Aug 25 22:09:14 2022 +0000
@@ -1,11 +1,6 @@
The Open MPI Project is an open source Message Passing Interface
implementation that is developed and maintained by a consortium of
-academic, research, and industry partners. Open MPI is therefore able
-to combine the expertise, technologies, and resources from all across
-the High Performance Computing community in order to build the best
-MPI library available. Open MPI offers advantages for system and
-software vendors, application developers and computer science
-researchers.
+academic, research, and industry partners.
Features implemented or in short-term development for Open MPI include:
- Full MPI-3.1 standards conformance
@@ -24,6 +19,3 @@
- Component-based design, documented APIs
- Active, responsive mailing list
- Open source license based on the BSD license
-
-[Note that the pkgsrc version is very old, but still appears to
-support MPI 3.0.]
diff -r 2b55a0ae3793 -r 8720e1bc3adf parallel/openmpi/Makefile
--- a/parallel/openmpi/Makefile Thu Aug 25 21:47:05 2022 +0000
+++ b/parallel/openmpi/Makefile Thu Aug 25 22:09:14 2022 +0000
@@ -1,12 +1,11 @@
-# $NetBSD: Makefile,v 1.50 2022/07/27 14:28:32 wiz Exp $
+# $NetBSD: Makefile,v 1.51 2022/08/25 22:09:14 thor Exp $
-DISTNAME= openmpi-1.10.7
-PKGREVISION= 10
+DISTNAME= openmpi-4.1.4
CATEGORIES= parallel
-MASTER_SITES= https://www.open-mpi.org/software/ompi/v1.10/downloads/
+MASTER_SITES= https://download.open-mpi.org/release/open-mpi/v4.1/
EXTRACT_SUFX= .tar.bz2
-MAINTAINER= asau%inbox.ru@localhost
+MAINTAINER= thor%NetBSD.org@localhost
HOMEPAGE= https://www.open-mpi.org/
COMMENT= Open source MPI-3.1 implementation
LICENSE= modified-bsd
@@ -15,53 +14,72 @@
USE_LANGUAGES= c c++
USE_LIBTOOL= yes
-USE_TOOLS+= perl:run
+USE_TOOLS+= perl:run bash:run
GNU_CONFIGURE= yes
-CONFIGURE_ARGS+= --without-slurm
+CONFIG_SHELL= bash
CONFIGURE_ARGS+= --enable-contrib-no-build=vt # in separate package
CONFIGURE_ARGS+= --with-libltdl=${BUILDLINK_PREFIX.libltdl}
-CONFIGURE_ARGS+= --with-hwloc=${BUILDLINK_PREFIX.hwloc}
-CONFIGURE_ARGS+= --with-wrapper-ldflags="-L${PREFIX}/lib ${LINKER_RPATH_FLAG}${PREFIX}/lib"
+# See below about external hwloc.
+#CONFIGURE_ARGS+= --with-hwloc=${BUILDLINK_PREFIX.hwloc}
+# OSHM Needs additional dependencies and also is surpassed with proper MPI
+# functionality. Rare use cases.
+CONFIGURE_ARGS+= --disable-oshmem
CONFIGURE_ARGS+= OPAL_HAVE_LTDL_ADVISE=0
-LIBTOOL_OVERRIDE= ${WRKSRC}/libtool \
- ${WRKSRC}/ompi/contrib/vt/vt/extlib/otf/libtool \
- ${WRKSRC}/ompi/contrib/vt/vt/libtool \
- ${WRKSRC}/ompi/mca/io/romio/romio/libtool
-SHLIBTOOL_OVERRIDE= ${WRKSRC}/config/libtool.m4
-
-# Prevent detection of OpenMP support in order to make PLIST consistent
-BUILDLINK_TRANSFORM= rm:-fopenmp
+LIBTOOL_OVERRIDE= libtool \
+ ompi/contrib/vt/vt/extlib/otf/libtool \
+ ompi/contrib/vt/vt/libtool \
+ ompi/mca/io/romio/romio/libtool
+SHLIBTOOL_OVERRIDE= config/libtool.m4
.include "options.mk"
TEST_TARGET= check
-PLIST_VARS+= linux loadleveler oshmem pstattest shm
-PLIST_VARS+= ignoretkr noignoretkr
+# Unsurprisingly, files that are only produced on GNU/Linux systems.
+PLIST_VARS+= linux
+# \todo Explain. Apparently built if !Linux.
+PLIST_VARS+= pstattest
+# \todo Explain.
+PLIST_VARS+= ignoretkr
+PLIST_VARS+= noignoretkr
+
.if ${OPSYS} == "Linux"
-PLIST.shm= yes
PLIST.linux= yes
-PLIST.loadleveler= yes
-PLIST.oshmem= yes
-PLIST.ignoretkr= yes
-.elif ${OPSYS} == "AIX"
-PLIST.loadleveler= yes
-.elif ${OPSYS} == "DragonFly" || ${OPSYS} == "FreeBSD" || \
- (${OPSYS} == "NetBSD" && exists(/var/shm))
-PLIST.shm= yes
.endif
+
.if ${OPSYS} != "Linux"
PLIST.pstattest= yes
+.endif
+
+.if ${OPSYS} == "Linux" || ${OPSYS} == "NetBSD"
+PLIST.ignoretkr= yes
+.else
+# \todo Explain why on Darwin we don't set one of them.
. if ${OPSYS} != "Darwin"
PLIST.noignoretkr= yes
. endif
.endif
REPLACE_PERL= ompi/tools/wrappers/mpijavac.pl.in
+REPLACE_PERL+= ompi/mca/common/monitoring/*.pl
-#LIBLTDL_CONVENIENCE_SUBDIR= opal/libltdl
-#.include "../../devel/libltdl/convenience.mk" # for "test" target to work
+EGDIR= ${PREFIX}/share/examples/openmpi
+CONF_SAMPLES+= openmpi-default-hostfile openmpi-mca-params.conf
+CONF_SAMPLES+= pmix-mca-params.conf
+.for i in ${CONF_SAMPLES}
+CONF_FILES+= ${EGDIR}/${i} ${PKG_SYSCONFDIR}/${i}
+.endfor
+
+INSTALLATION_DIRS+= ${EGDIR}
+
+post-install:
+.for i in ${CONF_SAMPLES}
+ ${MV} ${DESTDIR}${PKG_SYSCONFDIR}/${i} ${DESTDIR}${EGDIR}/${i}
+.endfor
+
.include "../../devel/libltdl/buildlink3.mk"
-.include "../../parallel/hwloc/buildlink3.mk"
+# Too old, use internal hwloc 2 instead. As hwloc 2 API/ABI is incompatible,
+# upgrade has to be considered carefully.
+#.include "../../parallel/hwloc/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
diff -r 2b55a0ae3793 -r 8720e1bc3adf parallel/openmpi/PLIST
--- a/parallel/openmpi/PLIST Thu Aug 25 21:47:05 2022 +0000
+++ b/parallel/openmpi/PLIST Thu Aug 25 22:09:14 2022 +0000
@@ -1,4 +1,5 @@
-@comment $NetBSD: PLIST,v 1.19 2018/01/04 20:31:28 adam Exp $
+@comment $NetBSD: PLIST,v 1.20 2022/08/25 22:09:14 thor Exp $
+bin/aggregate_profile.pl
bin/mpiCC
bin/mpic++
bin/mpicc
@@ -11,31 +12,20 @@
${PLIST.java}bin/mpijavac.pl
bin/mpirun
bin/ompi-clean
-bin/ompi-ps
bin/ompi-server
-bin/ompi-top
bin/ompi_info
bin/opal_wrapper
bin/orte-clean
-bin/orte-dvm
bin/orte-info
-bin/orte-ps
bin/orte-server
-bin/orte-submit
-bin/orte-top
bin/ortecc
bin/orted
bin/orterun
-${PLIST.oshmem}bin/oshcc
-${PLIST.oshmem}bin/oshfort
-${PLIST.oshmem}bin/oshmem_info
-${PLIST.oshmem}bin/oshrun
-${PLIST.oshmem}bin/shmemcc
-${PLIST.oshmem}bin/shmemfort
-${PLIST.oshmem}bin/shmemrun
+bin/profile2mat.pl
include/mpi-ext.h
include/mpi.h
include/mpi_portable_platform.h
+include/mpif-c-constants-decl.h
${PLIST.f90}include/mpif-config.h
${PLIST.f90}include/mpif-constants.h
include/mpif-ext.h
@@ -46,63 +36,25 @@
${PLIST.f90}include/mpif-sentinels.h
include/mpif-sizeof.h
include/mpif.h
-${PLIST.oshmem}include/mpp/shmem.fh
-${PLIST.oshmem}include/mpp/shmem.h
-include/openmpi/ompi/mpi/cxx/comm.h
-include/openmpi/ompi/mpi/cxx/comm_inln.h
-include/openmpi/ompi/mpi/cxx/constants.h
-include/openmpi/ompi/mpi/cxx/datatype.h
-include/openmpi/ompi/mpi/cxx/datatype_inln.h
-include/openmpi/ompi/mpi/cxx/errhandler.h
-include/openmpi/ompi/mpi/cxx/errhandler_inln.h
-include/openmpi/ompi/mpi/cxx/exception.h
-include/openmpi/ompi/mpi/cxx/file.h
-include/openmpi/ompi/mpi/cxx/file_inln.h
-include/openmpi/ompi/mpi/cxx/functions.h
-include/openmpi/ompi/mpi/cxx/functions_inln.h
-include/openmpi/ompi/mpi/cxx/group.h
-include/openmpi/ompi/mpi/cxx/group_inln.h
-include/openmpi/ompi/mpi/cxx/info.h
-include/openmpi/ompi/mpi/cxx/info_inln.h
-include/openmpi/ompi/mpi/cxx/intercomm.h
-include/openmpi/ompi/mpi/cxx/intercomm_inln.h
-include/openmpi/ompi/mpi/cxx/intracomm.h
-include/openmpi/ompi/mpi/cxx/intracomm_inln.h
-include/openmpi/ompi/mpi/cxx/mpicxx.h
-include/openmpi/ompi/mpi/cxx/op.h
-include/openmpi/ompi/mpi/cxx/op_inln.h
-include/openmpi/ompi/mpi/cxx/request.h
-include/openmpi/ompi/mpi/cxx/request_inln.h
-include/openmpi/ompi/mpi/cxx/status.h
-include/openmpi/ompi/mpi/cxx/status_inln.h
-include/openmpi/ompi/mpi/cxx/topology.h
-include/openmpi/ompi/mpi/cxx/topology_inln.h
-include/openmpi/ompi/mpi/cxx/win.h
-include/openmpi/ompi/mpi/cxx/win_inln.h
+include/openmpi/mpiext/mpiext_affinity_c.h
+include/openmpi/mpiext/mpiext_cuda_c.h
+include/openmpi/mpiext/mpiext_pcollreq_c.h
+${PLIST.f90}include/openmpi/mpiext/mpiext_pcollreq_mpifh.h
+include/openmpi/mpiext/pmpiext_pcollreq_c.h
${PLIST.java}include/openmpi/ompi/mpi/java/mpiJava.h
-${PLIST.oshmem}include/openshmem/oshmem/constants.h
-${PLIST.oshmem}include/openshmem/oshmem/frameworks.h
-${PLIST.oshmem}include/openshmem/oshmem/types.h
-${PLIST.oshmem}include/openshmem/oshmem/version.h
-${PLIST.oshmem}include/openshmem/oshmem_config.h
-${PLIST.oshmem}include/pshmem.h
-${PLIST.oshmem}include/pshmemx.h
-${PLIST.oshmem}include/shmem-compat.h
-${PLIST.oshmem}include/shmem.fh
-${PLIST.oshmem}include/shmem.h
-${PLIST.oshmem}include/shmemx.h
+lib/libmca_common_dstore.la
+lib/libmca_common_monitoring.la
+lib/libmca_common_ompio.la
lib/libmca_common_sm.la
lib/libmpi.la
-lib/libmpi_cxx.la
${PLIST.java}lib/libmpi_java.la
${PLIST.f90}lib/libmpi_mpifh.la
${PLIST.f90}${PLIST.noignoretkr}lib/libmpi_usempi.la
-${PLIST.ignoretkr}lib/libmpi_usempi_ignore_tkr.la
+${PLIST.f90}${PLIST.ignoretkr}lib/libmpi_usempi_ignore_tkr.la
${PLIST.f08}lib/libmpi_usempif08.la
lib/libompitrace.la
lib/libopen-pal.la
lib/libopen-rte.la
-${PLIST.oshmem}lib/liboshmem.la
${PLIST.java}lib/mpi.jar
${PLIST.f90}lib/mpi.mod
${PLIST.f90}${PLIST.ignoretkr}lib/mpi_ext.mod
@@ -112,22 +64,21 @@
${PLIST.f08}lib/mpi_f08_interfaces.mod
${PLIST.f08}lib/mpi_f08_interfaces_callbacks.mod
${PLIST.f08}lib/mpi_f08_types.mod
+lib/ompi_monitoring_prof.la
lib/openmpi/libompi_dbg_msgq.la
lib/openmpi/mca_allocator_basic.la
lib/openmpi/mca_allocator_bucket.la
-${PLIST.oshmem}lib/openmpi/mca_atomic_basic.la
-lib/openmpi/mca_bcol_basesmuma.la
-lib/openmpi/mca_bcol_ptpcoll.la
lib/openmpi/mca_bml_r2.la
lib/openmpi/mca_btl_self.la
lib/openmpi/mca_btl_sm.la
lib/openmpi/mca_btl_tcp.la
lib/openmpi/mca_btl_vader.la
+lib/openmpi/mca_coll_adapt.la
lib/openmpi/mca_coll_basic.la
-lib/openmpi/mca_coll_hierarch.la
+lib/openmpi/mca_coll_han.la
lib/openmpi/mca_coll_inter.la
lib/openmpi/mca_coll_libnbc.la
-lib/openmpi/mca_coll_ml.la
+lib/openmpi/mca_coll_monitoring.la
lib/openmpi/mca_coll_self.la
lib/openmpi/mca_coll_sm.la
lib/openmpi/mca_coll_sync.la
@@ -135,92 +86,85 @@
lib/openmpi/mca_compress_bzip.la
lib/openmpi/mca_compress_gzip.la
lib/openmpi/mca_crs_none.la
-lib/openmpi/mca_db_hash.la
-lib/openmpi/mca_db_print.la
-lib/openmpi/mca_dfs_app.la
-lib/openmpi/mca_dfs_orted.la
-lib/openmpi/mca_dfs_test.la
-lib/openmpi/mca_dpm_orte.la
lib/openmpi/mca_errmgr_default_app.la
lib/openmpi/mca_errmgr_default_hnp.la
lib/openmpi/mca_errmgr_default_orted.la
lib/openmpi/mca_errmgr_default_tool.la
Home |
Main Index |
Thread Index |
Old Index