summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Bronder <jsbronder@gentoo.org>2015-02-17 01:17:51 +0000
committerJustin Bronder <jsbronder@gentoo.org>2015-02-17 01:17:51 +0000
commit895afdb0c79d82447638a42cc137ef8d5cfa7573 (patch)
tree82aeaae6754fa4a90a16a3fdadbd0e4e01149ca6 /sys-cluster/openmpi
parentRevbump with 5.4+ support. Lightly tested and may be removed if it breaks si... (diff)
downloadhistorical-895afdb0c79d82447638a42cc137ef8d5cfa7573.tar.gz
historical-895afdb0c79d82447638a42cc137ef8d5cfa7573.tar.bz2
historical-895afdb0c79d82447638a42cc137ef8d5cfa7573.zip
Add numa USE flag. As xarthisius points out, this is probably desireable as it allows locking processes to CPUs.
Package-Manager: portage-2.2.8-r1/cvs/Linux x86_64 Manifest-Sign-Key: 0x4D7043C9
Diffstat (limited to 'sys-cluster/openmpi')
-rw-r--r--sys-cluster/openmpi/ChangeLog9
-rw-r--r--sys-cluster/openmpi/Manifest11
-rw-r--r--sys-cluster/openmpi/metadata.xml1
-rw-r--r--sys-cluster/openmpi/openmpi-1.8.4-r2.ebuild170
4 files changed, 185 insertions, 6 deletions
diff --git a/sys-cluster/openmpi/ChangeLog b/sys-cluster/openmpi/ChangeLog
index 882674b02eb9..ef9c4021b676 100644
--- a/sys-cluster/openmpi/ChangeLog
+++ b/sys-cluster/openmpi/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sys-cluster/openmpi
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-cluster/openmpi/ChangeLog,v 1.130 2015/02/04 21:46:32 jsbronder Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/openmpi/ChangeLog,v 1.131 2015/02/17 01:17:41 jsbronder Exp $
+
+*openmpi-1.8.4-r2 (17 Feb 2015)
+
+ 17 Feb 2015; Justin Bronder <jsbronder@gentoo.org> +openmpi-1.8.4-r2.ebuild,
+ metadata.xml:
+ Add numa USE flag. As xarthisius points out, this is probably desireable as
+ it allows locking processes to CPUs.
*openmpi-1.8.4-r1 (04 Feb 2015)
*openmpi-1.8.3-r1 (04 Feb 2015)
diff --git a/sys-cluster/openmpi/Manifest b/sys-cluster/openmpi/Manifest
index d0ec208f5d2b..52a55871637b 100644
--- a/sys-cluster/openmpi/Manifest
+++ b/sys-cluster/openmpi/Manifest
@@ -21,13 +21,14 @@ EBUILD openmpi-1.7.5.ebuild 4944 SHA256 ac3a50bb72e67d10ce68d19e7d8e73218a218e11
EBUILD openmpi-1.8.3-r1.ebuild 5157 SHA256 1d09a5c89644a96c9881802cceb8cdcb441904ec701c830763470630ae422f38 SHA512 1153848b0fabf461d192ba88c13d06d7e55d926074dc57d81535b22129ba68ad916ec3db53a95b643ee8b64071d763466251eea1d2213cef42b6c127029efd71 WHIRLPOOL dfa9fffed94999289294394faba216b57892f50583e9994bb3b374113f0a751440de08a1855d4ccc553157347fab96f0e9034c33b792c2d1bcbb24ed139ca98c
EBUILD openmpi-1.8.3.ebuild 4979 SHA256 5b616cb2a56206b96f670d1b2b64b70f25f2bc378c4907bb62327e3944ab13b1 SHA512 6936ecbdaf0fd935f378e1031edff175ec74a71c860a84f85327ee66d6b733de647232db24b9d7355dfda53c50665f3a833a4a424df6301ae49687ce72ed8e7b WHIRLPOOL 3b44fc882eb26d79163e1eaef07ab9fd1fa8a06206a9e6625a4f4bac6c28c9aec795e22f7e34f5c72b48a9c4d800389f41d4997d9fe13f3b97e35106c2119fb1
EBUILD openmpi-1.8.4-r1.ebuild 5157 SHA256 22160e7f2b82fca297dfc564739bf7d70e37c47973868bdcbef86a0c309b85a2 SHA512 5a26bf7afb33aaa1be1920723f94ab89291bd507857dc9fa6a2bf8b9305621af4f63e40b19019a097315bd4fdf8505ae473dcea7940a19b18c77ab22ced4c39e WHIRLPOOL 1179eabc0445a5b7b1135d2c47a71c061bcc143f2a4dec16606ba3e4266a65730877dbae14b56f22702eb8f6bba0cb6cdcd674d3845494d607385a2a56b9ee77
+EBUILD openmpi-1.8.4-r2.ebuild 5149 SHA256 9707078b5e1b97af59fe4c2729e1dfa648b93571733a8a21d45a94a105c39163 SHA512 097c8eca8da7e5c83d35d2ca9bb375875dd94b8df30c6569e6dcfcbea1f952ce6c630fa9e04c27051e81a42721a9565f948007233a84d9a22e0744d3a81cce5c WHIRLPOOL 5a5f5e74e5b1cb5a6d97ae1a4182a1115ad9448635c9dc50af6d3b6818afdf9aa66e958ebff77d42a3df40e74b3a211fad88ed558ee2664fd27e15d2d38e945f
EBUILD openmpi-1.8.4.ebuild 4979 SHA256 b9e45c3090560081a913f42420919df29647b00215571b364296a97667c502cb SHA512 409f2a6419fc2000c8575d17893a4bc6b18c1b1c7c8984e222c3c1c602ac8c06a712b4f54892d468307cf7aa801696f66d4b558c9a1ab490b1726045792eb676 WHIRLPOOL c935ce298c4f5c84bc5391dbdf8811c579ed3db198f9bdb400ef5ec3c2c6339dfac463b86b92b1824e962296b6fc18090a7123be48f00de0ba30a2439ad410a7
-MISC ChangeLog 20464 SHA256 cb669cd22ba17e0e38c80712316f9ee2b68fd7c380b4e8cf4e3d4ce71ce3e84b SHA512 9100f8ace94892af6f017f84ba025fada35a5ecdbcf3c359fe148e0a49f139f5318d9e75e0135121ca35f59bd0500c91628ea28a8f28be0e078f00f32c5e3ac8 WHIRLPOOL 15689d7eb0ae3fac6d92ca408a22c57df73c570461a802e612186ba601a14c05707a071999622efb2883b2b010d65ea72c6346a54e86f4c08ec159491b28c9e7
-MISC metadata.xml 714 SHA256 fc650835101e7da842eca4c7d444f2c50746dc97610f9442ea567cb665d7bfa4 SHA512 406f1ac85885bf5068c9711afb3257fbd537d82e253a46ce70e7fef88652c4ca9ae408c694ecb4d9ddeaf688fc6859dd1c6caadb25b64aafad297e918ffa9298 WHIRLPOOL 53177e043da7f788f75d531c3b8d7aba4119585d5a8af051f50ed67f2be7d348379b420877dde8934dfac278db4665204e659acdf87bb5c1aff7fe2d96015907
+MISC ChangeLog 20710 SHA256 8b67298f113869246822e94577cc658ca8d5d15710799bd6c8cc9eac60852d44 SHA512 02c459d5dd20cd753e7025653c98484687f5c6d2c0d2b406e18bee53e6f458991e32e6b14963b21eac1699b524c6b9cb5c4a12ebad4924d9cb1db8b15efefb4f WHIRLPOOL f0d171e0e9093416c386e9c9ad38efd54ff45080d6926e40b35451ae8766758054d70eb8c42c1b71697717fc247b99d799b21aeb01801c88a7eb481d9b282ed3
+MISC metadata.xml 791 SHA256 9edc79c0dc5999563fa3840cbba64de2b7061b7aa15fb62b7525944578f0b270 SHA512 0ec140f99b9ece69950b5d9cd283a097b3e4d6962b4c7941343b0eea1a914edf53b9ddfeb8bc2a8cc920219cf8e674b07370a0446136b1f9b416614acbcb97f6 WHIRLPOOL 761b3e76edadd1b7066937c3c9b93ae09c3c224dbf4b1da3771a218d54b92354e86adfa8dc945da049206f1e9b885653a12fd19342a7966ed3458a89df7f54ba
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.20 (GNU/Linux)
-iEYEAREIAAYFAlTSkz8ACgkQ4MrvBE1wQ8l8LgCfawR8MqdqgFdH99VZrsw+OQq1
-BlsAnRWldMNvs+94nGFnyN4VdonQpTGr
-=3zUd
+iEYEAREIAAYFAlTilrsACgkQ4MrvBE1wQ8k6fACfZKTVZY5hEJxun+pNvHn1xiVG
+mtwAniefYciEBqhrnys/8l6z1LYYSL/D
+=qDoK
-----END PGP SIGNATURE-----
diff --git a/sys-cluster/openmpi/metadata.xml b/sys-cluster/openmpi/metadata.xml
index 9bc236122768..e0d91cd04f60 100644
--- a/sys-cluster/openmpi/metadata.xml
+++ b/sys-cluster/openmpi/metadata.xml
@@ -12,6 +12,7 @@
platform support</flag>
<flag name='romio'>Build the ROMIO MPI-IO component</flag>
<flag name='mpi-threads'>Enable MPI_THREAD_MULTIPLE</flag>
+ <flag name='numa'>Enable numactl to allow binding processes to CPUs</flag>
<flag name='vt'>Enable bundled VampirTrace support</flag>
<flag name="pbs">Add support for the Portable Batch System (PBS)</flag>
</use>
diff --git a/sys-cluster/openmpi/openmpi-1.8.4-r2.ebuild b/sys-cluster/openmpi/openmpi-1.8.4-r2.ebuild
new file mode 100644
index 000000000000..701e90753b4f
--- /dev/null
+++ b/sys-cluster/openmpi/openmpi-1.8.4-r2.ebuild
@@ -0,0 +1,170 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/openmpi/openmpi-1.8.4-r2.ebuild,v 1.1 2015/02/17 01:17:41 jsbronder Exp $
+
+EAPI=5
+
+FORTRAN_NEEDED=fortran
+
+inherit autotools cuda eutils flag-o-matic fortran-2 multilib toolchain-funcs versionator
+
+MY_P=${P/-mpi}
+S=${WORKDIR}/${MY_P}
+
+IUSE_OPENMPI_FABRICS="
+ openmpi_fabrics_ofed
+ openmpi_fabrics_knem
+ openmpi_fabrics_open-mx
+ openmpi_fabrics_psm"
+
+IUSE_OPENMPI_RM="
+ openmpi_rm_pbs
+ openmpi_rm_slurm"
+
+IUSE_OPENMPI_OFED_FEATURES="
+ openmpi_ofed_features_control-hdr-padding
+ openmpi_ofed_features_connectx-xrc
+ openmpi_ofed_features_udcm
+ openmpi_ofed_features_rdmacm
+ openmpi_ofed_features_dynamic-sl
+ openmpi_ofed_features_failover"
+
+DESCRIPTION="A high-performance message passing library (MPI)"
+HOMEPAGE="http://www.open-mpi.org"
+SRC_URI="http://www.open-mpi.org/software/ompi/v$(get_version_component_range 1-2)/downloads/${MY_P}.tar.bz2"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux"
+IUSE="cma cuda +cxx elibc_FreeBSD fortran heterogeneous ipv6 mpi-threads numa romio threads vt
+ ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}"
+
+REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs )
+ openmpi_rm_pbs? ( !openmpi_rm_slurm )
+ openmpi_fabrics_psm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_connectx-xrc? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_failover? ( openmpi_fabrics_ofed )"
+
+MPI_UNCLASSED_DEP_STR="
+ vt? (
+ !dev-libs/libotf
+ !app-text/lcdf-typetools
+ )"
+
+RDEPEND="
+ !sys-cluster/mpich
+ !sys-cluster/mpich2
+ !sys-cluster/mpiexec
+ dev-libs/libevent
+ dev-libs/libltdl:0
+ >=sys-apps/hwloc-1.9.1[numa?]
+ sys-libs/zlib
+ cuda? ( dev-util/nvidia-cuda-toolkit )
+ elibc_FreeBSD? ( dev-libs/libexecinfo )
+ openmpi_fabrics_ofed? ( sys-infiniband/ofed )
+ openmpi_fabrics_knem? ( sys-cluster/knem )
+ openmpi_fabrics_open-mx? ( sys-cluster/open-mx )
+ openmpi_fabrics_psm? ( sys-infiniband/infinipath-psm )
+ openmpi_rm_pbs? ( sys-cluster/torque )
+ openmpi_rm_slurm? ( sys-cluster/slurm )
+ openmpi_ofed_features_rdmacm? ( sys-infiniband/librdmacm )
+ "
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ fortran-2_pkg_setup
+
+ if use mpi-threads; then
+ echo
+ ewarn "WARNING: use of MPI_THREAD_MULTIPLE is still disabled by"
+ ewarn "default and officially unsupported by upstream."
+ ewarn "You may stop now and set USE=-mpi-threads"
+ echo
+ fi
+
+ echo
+ elog "OpenMPI has an overwhelming count of configuration options."
+ elog "Don't forget the EXTRA_ECONF environment variable can let you"
+ elog "specify configure options if you find them necessary."
+ echo
+}
+
+src_prepare() {
+ # Necessary for scalibility, see
+ # http://www.open-mpi.org/community/lists/users/2008/09/6514.php
+ if use threads; then
+ echo 'oob_tcp_listen_mode = listen_thread' \
+ >> opal/etc/openmpi-mca-params.conf
+ fi
+
+ # https://github.com/open-mpi/ompi/issues/163
+ epatch "${FILESDIR}"/openmpi-ltdl.patch
+
+ AT_M4DIR=config eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ --sysconfdir="${EPREFIX}/etc/${PN}"
+ --enable-pretty-print-stacktrace
+ --enable-orterun-prefix-by-default
+ --with-hwloc="${EPREFIX}/usr"
+ --with-libltdl=external
+ )
+
+ if use mpi-threads; then
+ myconf+=(--enable-mpi-threads
+ --enable-opal-multi-threads)
+ fi
+
+ if use fortran; then
+ myconf+=(--enable-mpi-fortran=all)
+ else
+ myconf+=(--enable-mpi-fortran=no)
+ fi
+
+ ! use vt && myconf+=(--enable-contrib-no-build=vt)
+
+ econf "${myconf[@]}" \
+ $(use_enable cxx mpi-cxx) \
+ $(use_with cma) \
+ $(use_with cuda cuda "${EPREFIX}"/opt/cuda) \
+ $(use_enable romio io-romio) \
+ $(use_enable heterogeneous) \
+ $(use_enable ipv6) \
+ $(use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \
+ $(use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \
+ $(use_with openmpi_fabrics_open-mx mx "${EPREFIX}"/usr) \
+ $(use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \
+ $(use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \
+ $(use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \
+ $(use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \
+ $(use_enable openmpi_ofed_features_udcm openib-udcm) \
+ $(use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \
+ $(use_enable openmpi_ofed_features_failover btl-openib-failover) \
+ $(use_with openmpi_rm_pbs tm) \
+ $(use_with openmpi_rm_slurm slurm)
+}
+
+src_install () {
+ emake DESTDIR="${D}" install
+
+ # From USE=vt see #359917
+ rm "${ED}"/usr/share/libtool &> /dev/null
+
+ # Avoid collisions with libevent
+ rm -rf "${ED}"/usr/include/event2 &> /dev/null
+
+ # Remove la files, no static libs are installed and we have pkg-config
+ find "${ED}"/usr/$(get_libdir)/ -type f -name '*.la' -delete
+
+ dodoc README AUTHORS NEWS VERSION || die
+}
+
+src_test() {
+ # Doesn't work with the default src_test as the dry run (-n) fails.
+ emake -j1 check
+}