From d8c64fa681de339379109345e54ee892a7038b23 Mon Sep 17 00:00:00 2001 From: asau Date: Tue, 12 Jun 2012 23:36:30 +0000 Subject: Update to OpenMPI 1.6 Disable automatic detection of SGE and SLURM to avoid PLIST divergence. Changes in OpenMPI 1.6 v1.6 is a major release; it effectively deprecates both the v1.4.x and v1.5.x series, and replaces v1.4.x as the current "super stable" series. A forthcoming v1.7 series will become the new "feature" series. *All users* -- including production users and downstream providers -- are encouraged to upgrade to v1.6. Note that v1.6 is ABI compatible with the entire v1.5.x series, but is not ABI compatible with the v1.4.x series. See http://www.open-mpi.org/software/ompi/versions/ for a description of Open MPI's release methodology. Here is a list of changes in v1.6 as compared to v1.5.5: - Fix some process affinity issues. When binding a process, Open MPI will now bind to all available hyperthreads in a core (or socket, depending on the binding options specified). --> Note that "mpirun --bind-to-socket ..." does not work on POWER6- and POWER7-based systems with some Linux kernel versions. See the FAQ on the Open MPI web site for more information. - Add support for ARM5 and ARM6 (in addition to the existing ARM7 support). Thanks to Evan Clinton for the patch. - Minor Mellanox MXM fixes. - Properly detect FDR10, FDR, and EDR OpenFabrics devices. - Minor fixes to the mpirun(1) and MPI_Comm_create(3) man pages. - Prevent segv if COMM_SPAWN_MULTIPLE fails. Thanks to Fujitsu for the patch. - Disable interposed memory management in fakeroot environments. This fixes a problem in some build environments. - Minor hwloc updates. - Array versions of MPI_TEST and MPI_WAIT with a count==0 will now return immediately with MPI_SUCCESS. Thanks to Jeremiah Willcock for the suggestion. - Update VampirTrace to v5.12.2. - Properly handle forwarding stdin to all processes when "mpirun --stdin all" is used. - Workaround XLC assembly bug. - OS X Tiger (10.3) has not been supported for a while, so forcibly abort configure if we detect it. - Fix segv in the openib BTL when running on SPARC 64 systems. - Fix some include file ordering issues on some BSD-based platforms. Thanks to Paul Hargove for this (and many, many other) fixes. - Properly handle .FALSE. return parameter value to attribute copy callback functions. - Fix a bunch of minor C++ API issues; thanks to Fujitsu for the patch. - Fixed the default hostfile MCA parameter behavior. - Per the MPI spec, ensure not to touch the port_name parameter to MPI_CLOSE_PORT (it's an IN parameter). --- parallel/openmpi/Makefile | 18 ++++---- parallel/openmpi/PLIST | 10 +---- parallel/openmpi/PLIST.vt | 15 +++---- parallel/openmpi/distinfo | 9 ++-- parallel/openmpi/options.mk | 6 ++- .../patch-ompi_contrib_vt_vt_etc_Makefile.in | 50 ++++++++++++++++++++++ ...t_vt_extlib_otf_tools_otfprofile_clustering.cpp | 14 ++++++ 7 files changed, 89 insertions(+), 33 deletions(-) create mode 100644 parallel/openmpi/patches/patch-ompi_contrib_vt_vt_etc_Makefile.in create mode 100644 parallel/openmpi/patches/patch-ompi_contrib_vt_vt_extlib_otf_tools_otfprofile_clustering.cpp (limited to 'parallel/openmpi') diff --git a/parallel/openmpi/Makefile b/parallel/openmpi/Makefile index 5114f9b57dc..a1b64e851ed 100644 --- a/parallel/openmpi/Makefile +++ b/parallel/openmpi/Makefile @@ -1,8 +1,8 @@ -# $NetBSD: Makefile,v 1.14 2012/05/28 18:38:17 asau Exp $ +# $NetBSD: Makefile,v 1.15 2012/06/12 23:36:30 asau Exp $ -DISTNAME= openmpi-1.5.5 +DISTNAME= openmpi-1.6 CATEGORIES= parallel -MASTER_SITES= http://www.open-mpi.org/software/ompi/v1.5/downloads/ +MASTER_SITES= http://www.open-mpi.org/software/ompi/v1.6/downloads/ EXTRACT_SUFX= .tar.bz2 MAINTAINER= asau@inbox.ru @@ -25,7 +25,10 @@ SHLIBTOOL_OVERRIDE= ${WRKSRC}/config/libtool.m4 \ ${WRKSRC}/opal/libltdl/m4/libtool.m4 CONFIGURE_ARGS+= --disable-mpi-f90 +CONFIGURE_ARGS+= --without-sge +CONFIGURE_ARGS+= --without-slurm CONFIGURE_ARGS+= --with-libltdl=external # use our libltdl +CONFIGURE_ARGS+= --with-hwloc=$(BUILDLINK_PREFIX.hwloc:Q) #external CONFIGURE_ARGS+= --with-wrapper-ldflags="-L${PREFIX}/lib ${LINKER_RPATH_FLAG}${PREFIX}/lib" CONFIGURE_ENV+= ompi_cv_f77_have_INTEGERp8=no # no "INTEGER*8"?? CONFIGURE_ARGS+= OPAL_HAVE_LTDL_ADVISE=0 @@ -35,13 +38,6 @@ BUILDLINK_TRANSFORM= rm:-fopenmp USE_TOOLS+= perl:run -PLIST_VARS+= vtlwraph -.include "../../mk/bsd.prefs.mk" -.if ${OPSYS} == "DragonFly" -PLIST.vtlwraph= yes -.endif - - .include "options.mk" TEST_TARGET= check @@ -53,5 +49,7 @@ TEST_TARGET= check # pre-configure: replace-interpreter # cd $(WRKSRC) && $(BASH) autogen.sh +LIBLTDL_CONVENIENCE_SUBDIR= opal/libltdl +.include "../../devel/libltdl/convenience.mk" # for "test" target to work .include "../../devel/libltdl/buildlink3.mk" .include "../../mk/bsd.pkg.mk" diff --git a/parallel/openmpi/PLIST b/parallel/openmpi/PLIST index 719d9377f2c..bbf800ddf77 100644 --- a/parallel/openmpi/PLIST +++ b/parallel/openmpi/PLIST @@ -1,4 +1,4 @@ -@comment $NetBSD: PLIST,v 1.8 2012/05/28 18:38:17 asau Exp $ +@comment $NetBSD: PLIST,v 1.9 2012/06/12 23:36:31 asau Exp $ bin/mpiCC bin/mpic++ bin/mpicc @@ -95,8 +95,6 @@ lib/openmpi/mca_ess_env.la lib/openmpi/mca_ess_hnp.la lib/openmpi/mca_ess_singleton.la lib/openmpi/mca_ess_slave.la -lib/openmpi/mca_ess_slurm.la -lib/openmpi/mca_ess_slurmd.la lib/openmpi/mca_ess_tool.la lib/openmpi/mca_filem_rsh.la lib/openmpi/mca_grpcomm_bad.la @@ -119,7 +117,6 @@ lib/openmpi/mca_osc_pt2pt.la lib/openmpi/mca_osc_rdma.la lib/openmpi/mca_paffinity_hwloc.la lib/openmpi/mca_plm_rsh.la -lib/openmpi/mca_plm_slurm.la lib/openmpi/mca_pml_bfo.la lib/openmpi/mca_pml_cm.la lib/openmpi/mca_pml_csum.la @@ -127,8 +124,6 @@ lib/openmpi/mca_pml_ob1.la lib/openmpi/mca_pml_v.la lib/openmpi/mca_pubsub_orte.la lib/openmpi/mca_ras_cm.la -lib/openmpi/mca_ras_gridengine.la -lib/openmpi/mca_ras_slurm.la lib/openmpi/mca_rcache_vma.la lib/openmpi/mca_rmaps_load_balance.la lib/openmpi/mca_rmaps_rank_file.la @@ -556,10 +551,7 @@ share/openmpi/help-orted.txt share/openmpi/help-orterun.txt share/openmpi/help-plm-base.txt share/openmpi/help-plm-rsh.txt -share/openmpi/help-plm-slurm.txt share/openmpi/help-ras-base.txt -share/openmpi/help-ras-gridengine.txt -share/openmpi/help-ras-slurm.txt share/openmpi/help-regex.txt share/openmpi/help-rmaps_rank_file.txt share/openmpi/help-rmcast-base.txt diff --git a/parallel/openmpi/PLIST.vt b/parallel/openmpi/PLIST.vt index 1fe11e856b3..aec58893129 100644 --- a/parallel/openmpi/PLIST.vt +++ b/parallel/openmpi/PLIST.vt @@ -1,4 +1,4 @@ -@comment $NetBSD: PLIST.vt,v 1.5 2012/05/28 18:38:18 asau Exp $ +@comment $NetBSD: PLIST.vt,v 1.6 2012/06/12 23:36:31 asau Exp $ bin/mpiCC-vt bin/mpic++-vt bin/mpicc-vt @@ -30,13 +30,10 @@ bin/vtrun bin/vtunify bin/vtunify-mpi bin/vtwrapper -etc/vt-java-default-filter.spec -etc/vt-setup-config.dtd -etc/vt-setup-config.xml include/vampirtrace/OTFAUX_MsgMatching.h include/vampirtrace/OTFAUX_Thumbnail.h -include/vampirtrace/OTF_CopyHandler.h include/vampirtrace/OTF_CopyHandler_stream.h +include/vampirtrace/OTF_CopyHandler.h include/vampirtrace/OTF_Definitions.h include/vampirtrace/OTF_Errno.h include/vampirtrace/OTF_File.h @@ -54,8 +51,8 @@ include/vampirtrace/OTF_WStream.h include/vampirtrace/OTF_Writer.h include/vampirtrace/OTF_inttypes.h include/vampirtrace/OTF_inttypes_unix.h -include/vampirtrace/otf.h include/vampirtrace/otfaux.h +include/vampirtrace/otf.h include/vampirtrace/vt_inttypes.h include/vampirtrace/vt_user.h include/vampirtrace/vt_user.inc @@ -72,12 +69,11 @@ include/vampirtrace/vt_user_message.inc include/vampirtrace/vt_user_region.h include/vampirtrace/vt_user_region.inc include/vampirtrace/vt_wrap_pthread.h -${PLIST.vtlwraph}include/vampirtrace/vt_libwrap.h -lib/libotf.la lib/libotfaux.la +lib/libotf.la lib/libvt-hyb.la -lib/libvt-mpi-unify.la lib/libvt-mpi.la +lib/libvt-mpi-unify.la lib/libvt-mt.la lib/libvt.la share/openmpi/mpiCC-vt-wrapper-data.txt @@ -89,6 +85,7 @@ share/openmpi/mpif90-vt-wrapper-data.txt share/vampirtrace/FILTER.SPEC share/vampirtrace/GROUPS.SPEC share/vampirtrace/METRICS.SPEC +share/vampirtrace/VampirTrace/examples/vt-java-default-filter.spec share/vampirtrace/doc/ChangeLog share/vampirtrace/doc/LICENSE share/vampirtrace/doc/UserManual.html diff --git a/parallel/openmpi/distinfo b/parallel/openmpi/distinfo index acd3a6460ee..17d2732cd88 100644 --- a/parallel/openmpi/distinfo +++ b/parallel/openmpi/distinfo @@ -1,10 +1,11 @@ -$NetBSD: distinfo,v 1.9 2012/05/28 18:38:18 asau Exp $ +$NetBSD: distinfo,v 1.10 2012/06/12 23:36:31 asau Exp $ -SHA1 (openmpi-1.5.5.tar.bz2) = 206e555f6d376443f2342f721d944e67dd1a04ef -RMD160 (openmpi-1.5.5.tar.bz2) = 6e7648ec0fa553c16b40f886b397d11863039eb2 -Size (openmpi-1.5.5.tar.bz2) = 10055601 bytes +SHA1 (openmpi-1.6.tar.bz2) = 8b81eea712bb8f8120468003b5f29baecedf2367 +RMD160 (openmpi-1.6.tar.bz2) = 3a9a81a5ec61dcd5e0cc5e5bb6bfb0f9c2ad0c84 +Size (openmpi-1.6.tar.bz2) = 10034857 bytes SHA1 (patch-aa) = 6fa20775c6e2abae7c9a2ae858dbb941652beab8 SHA1 (patch-ai) = 650906ec3701cc7bac6b7f916c87506ccb885341 SHA1 (patch-aj) = dc85e6c9eb6db0eb40bb896a11c223afeda63c2f SHA1 (patch-ak) = f6ea4220d51dd0c84ac2067d695c265f00904a0f +SHA1 (patch-ompi_contrib_vt_vt_etc_Makefile.in) = 913d3adbf073a1c0eec1fb499407c69cc0a2c057 SHA1 (patch-ompi_contrib_vt_vt_extlib_otf_tools_otfprofile_clustering.cpp) = b2baee86e9787fec7d16073cbb63ece4e83c2333 diff --git a/parallel/openmpi/options.mk b/parallel/openmpi/options.mk index d94c48e0895..05856e4c934 100644 --- a/parallel/openmpi/options.mk +++ b/parallel/openmpi/options.mk @@ -1,4 +1,4 @@ -# $NetBSD: options.mk,v 1.2 2010/05/14 20:12:58 asau Exp $ +# $NetBSD: options.mk,v 1.3 2012/06/12 23:36:31 asau Exp $ PKG_OPTIONS_VAR= PKG_OPTIONS.openmpi PKG_SUPPORTED_OPTIONS= debug openmpi-vampirtrace @@ -14,6 +14,10 @@ CONFIGURE_ARGS+= --enable-debug .if !empty(PKG_OPTIONS:Mopenmpi-vampirtrace) CONFLICTS+= libotf-[0-9]* PLIST_SRC+= PLIST.vt + +CONF_FILES+= share/vampirtrace/VampirTrace/examples/vt-java-default-filter.spec \ + $(PKG_SYSCONFDIR)/vt-java-default-filter.spec + .include "../../graphics/freetype2/buildlink3.mk" .else CONFIGURE_ARGS+= --enable-contrib-no-build=vt diff --git a/parallel/openmpi/patches/patch-ompi_contrib_vt_vt_etc_Makefile.in b/parallel/openmpi/patches/patch-ompi_contrib_vt_vt_etc_Makefile.in new file mode 100644 index 00000000000..616dab4344e --- /dev/null +++ b/parallel/openmpi/patches/patch-ompi_contrib_vt_vt_etc_Makefile.in @@ -0,0 +1,50 @@ +$NetBSD: patch-ompi_contrib_vt_vt_etc_Makefile.in,v 1.1 2012/06/12 23:36:31 asau Exp $ + +--- ompi/contrib/vt/vt/etc/Makefile.in.orig 2012-05-10 15:12:24.000000000 +0000 ++++ ompi/contrib/vt/vt/etc/Makefile.in +@@ -461,6 +461,7 @@ vtsysconf_DATA = \ + vt-java-default-filter.spec + + vtsysconfdir = $(sysconfdir) ++vtsysconfexampledir = $(pkgdatadir)/examples + EXTRA_DIST = $(vtsysconf_DATA) + all: all-am + +@@ -503,22 +504,22 @@ clean-libtool: + -rm -rf .libs _libs + install-vtsysconfDATA: $(vtsysconf_DATA) + @$(NORMAL_INSTALL) +- test -z "$(vtsysconfdir)" || $(MKDIR_P) "$(DESTDIR)$(vtsysconfdir)" +- @list='$(vtsysconf_DATA)'; test -n "$(vtsysconfdir)" || list=; \ ++ test -z "$(vtsysconfdir)" || $(MKDIR_P) "$(DESTDIR)$(vtsysconfexampledir)" ++ @list='$(vtsysconf_DATA)'; test -n "$(vtsysconfexampledir)" || list=; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ +- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(vtsysconfdir)'"; \ +- $(INSTALL_DATA) $$files "$(DESTDIR)$(vtsysconfdir)" || exit $$?; \ ++ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(vtsysconfexampledir)'"; \ ++ $(INSTALL_DATA) $$files "$(DESTDIR)$(vtsysconfexampledir)" || exit $$?; \ + done + + uninstall-vtsysconfDATA: + @$(NORMAL_UNINSTALL) +- @list='$(vtsysconf_DATA)'; test -n "$(vtsysconfdir)" || list=; \ ++ @list='$(vtsysconf_DATA)'; test -n "$(vtsysconfexampledir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ +- dir='$(DESTDIR)$(vtsysconfdir)'; $(am__uninstall_files_from_dir) ++ dir='$(DESTDIR)$(vtsysconfexampledir)'; $(am__uninstall_files_from_dir) + tags: TAGS + TAGS: + +@@ -560,7 +561,7 @@ check-am: all-am + check: check-am + all-am: Makefile $(DATA) + installdirs: +- for dir in "$(DESTDIR)$(vtsysconfdir)"; do \ ++ for dir in "$(DESTDIR)$(vtsysconfexampledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done + install: install-am diff --git a/parallel/openmpi/patches/patch-ompi_contrib_vt_vt_extlib_otf_tools_otfprofile_clustering.cpp b/parallel/openmpi/patches/patch-ompi_contrib_vt_vt_extlib_otf_tools_otfprofile_clustering.cpp new file mode 100644 index 00000000000..5f6053b7428 --- /dev/null +++ b/parallel/openmpi/patches/patch-ompi_contrib_vt_vt_extlib_otf_tools_otfprofile_clustering.cpp @@ -0,0 +1,14 @@ +$NetBSD: patch-ompi_contrib_vt_vt_extlib_otf_tools_otfprofile_clustering.cpp,v 1.1 2012/06/12 23:36:31 asau Exp $ + +Define WEXITSTATUS. + +--- ompi/contrib/vt/vt/extlib/otf/tools/otfprofile/clustering.cpp.orig 2011-12-14 01:44:13.000000000 +0000 ++++ ompi/contrib/vt/vt/extlib/otf/tools/otfprofile/clustering.cpp +@@ -3,6 +3,7 @@ + Authors: Andreas Knuepfer, Robert Dietrich, Matthias Jurenz + */ + ++#include + #include + #include + #include -- cgit v1.2.3