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