From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- sys-cluster/mvapich2/Manifest | 5 ++ sys-cluster/mvapich2/metadata.xml | 16 ++++ sys-cluster/mvapich2/mvapich2-1.6.ebuild | 145 +++++++++++++++++++++++++++++++ 3 files changed, 166 insertions(+) create mode 100644 sys-cluster/mvapich2/Manifest create mode 100644 sys-cluster/mvapich2/metadata.xml create mode 100644 sys-cluster/mvapich2/mvapich2-1.6.ebuild (limited to 'sys-cluster/mvapich2') diff --git a/sys-cluster/mvapich2/Manifest b/sys-cluster/mvapich2/Manifest new file mode 100644 index 000000000000..9bf801fc0790 --- /dev/null +++ b/sys-cluster/mvapich2/Manifest @@ -0,0 +1,5 @@ +DIST mvapich2-1.6.tgz 23239787 SHA256 e657ba2eaf43119fec70859677a08bb8138a8bf18c1f375891fed0b7c77aa28d SHA512 4a4aac17742f347c4daed40a8360576ff4c644c549d4a3b364c7d2b1eada6aecc514b447b4613111e113d8f9be79b5101a999298cf89ff19ce63523a54702289 WHIRLPOOL 922fce19a07388b2efdae67e921355b532fe32ae1698d50de1aa00b34587f0efaf37de778f2a8c97f4fdc53a475c829e62bd41754322fbcaef71a7376691f296 +EBUILD mvapich2-1.6.ebuild 3905 SHA256 a5a5310426a57e90b60c65d84cf7833af36cda31bf229f9b2af069c01e5422b8 SHA512 856e1c976f39b6cfa83cf111f35a109bd634060851a25f1c26a51178c01893210d43ff2cfa5b9302748e952e045de27a107fb4aac68f5890c5426a6e5cc980f4 WHIRLPOOL 8bc661c3cf310e3d43fa6cb1d10dc30614bd05c71da944971770a105079074bc55fe0dc1521d2e45ca4e3354477bcd07a0559efc92f17205690a4b9099c63250 +MISC ChangeLog 2584 SHA256 78df17220118e47b0b93218fafc4f12760b2ad71245a082ce940b3a616fa493d SHA512 1bded62ad2556a507e8572f29ff098c8c8692799e9d66265e96aa449e195d92dd17346f14058bf4495c69698d342a51b3bc2e90d8213aaeb47824e3d8eff6542 WHIRLPOOL a4fc8617301cd06495abb5f650d8f8a848711571055432c60b1bd5156481d66503f3ef57451520fa525f57615e1f1927c0fdadacefbcb512b30edf991898017e +MISC ChangeLog-2015 358 SHA256 22a408422f68a4eb6ad223ce405a7f072e11d1fa61af21bd4e186ff940b224f7 SHA512 b1a2b9622c7b0194ca9905d5f30828ae7d15d2f4dc172c4b2af992a744f38d304b1cb78d745f87bc709dcc43490deb0ef2e41751e10a28783bfacb7f6d9ecf5b WHIRLPOOL 1f8e48c2f3017c0b7a1778429cff84b5bdacc93bfe5ba351ddf95bc8ff7e9a0185c330984b859cac74f248c7a469669d9f6db8aaa60ae2ad2a826fed8d75cca7 +MISC metadata.xml 646 SHA256 5a6626a1b245f51c6d0962b034dd3265a6ab6f19dce29b16195fa007d4446235 SHA512 251bae667db76befd899a01a8f1c658f4552f2a4c0e0790489c7b0d8e984fcf3f08b2954e9dcb2ddc4d3b7a4d0bb8a82aee5d004c9dabb4b760e1c7d0ec3b67a WHIRLPOOL e3184888e688efc8195f72532b9528ff03c746bf38dad9014bd15bf027d363b2b8c23af9d28189c50bff3db0fdc8378274f8b7ef9e9fa68acf45d87265ad1044 diff --git a/sys-cluster/mvapich2/metadata.xml b/sys-cluster/mvapich2/metadata.xml new file mode 100644 index 000000000000..2c8285bf4d21 --- /dev/null +++ b/sys-cluster/mvapich2/metadata.xml @@ -0,0 +1,16 @@ + + + + + cluster@gentoo.org + Gentoo Cluster Project + + +MVAPICH2 MPI-over-infiniband package auto-configured for OpenIB. + + + Automatically generated description for large-cluster + Automatically generated description for medium-cluster + Automatically generated description for romio + + diff --git a/sys-cluster/mvapich2/mvapich2-1.6.ebuild b/sys-cluster/mvapich2/mvapich2-1.6.ebuild new file mode 100644 index 000000000000..31fec6cd3d00 --- /dev/null +++ b/sys-cluster/mvapich2/mvapich2-1.6.ebuild @@ -0,0 +1,145 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="4" + +inherit fortran-2 + +DESCRIPTION="MVAPICH2 MPI-over-infiniband package auto-configured for OpenIB" +HOMEPAGE="http://mvapich.cse.ohio-state.edu/" +SRC_URI="${HOMEPAGE}/download/mvapich2/mvapich2-${PV/_/-}.tgz" + +SLOT="0" +LICENSE="BSD" +KEYWORDS="~x86 ~amd64" +IUSE="debug fortran large-cluster medium-cluster romio threads" + +RDEPEND=" + || ( + ( + sys-fabric/libibverbs + sys-fabric/libibumad + sys-fabric/libibmad + sys-fabric/librdmacm ) + sys-fabric/openib-userspace )" +DEPEND="${RDEPEND}" + +S="${WORKDIR}/mvapich2-${PV/_/-}" + +pkg_setup() { + fortran-2_pkg_setup + + if [ -z "${MVAPICH_HCA_TYPE}" ]; then + elog "${PN} needs to know which HCA it should optimize for. This is" + elog "passed to the ebuild with the variable, \${MVAPICH_HCA_TYPE}." + elog "Please choose one of: _MLX_PCI_EX_SDR_, _MLX_PCI_EX_DDR_," + elog "_MLX_PCI_X, _PATH_HT_, or _IBM_EHCA_." + elog "See make.mvapich2.detect in ${S} for more information." + die "MVAPICH_HCA_TYPE undefined" + fi + + case ${ARCH} in + amd64) + if grep Intel /proc/cpuinfo &>/dev/null; then + BUILD_ARCH=-D_EM64T_ + else + BUILD_ARCH=-D_X86_64_ + fi + ;; + x86) + BUILD_ARCH=-D_IA32_ + ;; + ia64) + BUILD_ARCH=-D_IA64_ + ;; + ppc64) + BUILD_ARCH=-D_PPC64_ + ;; + *) + die "unsupported architecture: ${ARCH}" + ;; + esac +} + +src_prepare() { + einfo "Disabling examples" + # Examples are always compiled with the default 'all' target. This + # causes problems when we don't build support for everything, including + # threads, mpe2, etc. So we're not going to build them. + sed -i 's:.*cd examples && ${MAKE} all.*::' Makefile.in +} + +src_configure() { + local c="--with-device=osu_ch3:mrail + --with-rdma=gen2 + --with-pm=mpd + $(use_enable romio) + --with-mpe=no" + + # TODO Shared libs should build with this, but they don't + # --enable-shared=gcc" + + local enable_srq + local vcluster=-D_SMALL_CLUSTER + + use large-cluster && vcluster=-D_LARGE_CLUSTER + use medium-cluster && vcluster=-D_MEDIUM_CLUSTER + [ "${MVAPICH_HCA_TYPE}" == "_MLX_PCI_X_" ] && enable_srq="-DSRQ" + + append-ldflags "-lrdmacm" + append-flags "-DADAPTIVE_RDMA_FAST_PATH -DRDMA_CM" + + append-ldflags "-libverbs -libumad -libmad" + + append-flags "${BUILD_ARCH} -DUSE_INLINE -D_SMP_ -D_GNU_SOURCE" + append-flags "${enable_srq} -DUSE_HEADER_CACHING -DLAZY_MEM_UNREGISTER" + append-flags "-DONE_SIDED -D${MVAPICH_HCA_TYPE} ${vcluster}" + append-flags "-DMPID_USE_SEQUENCE_NUMBERS -DUSE_MPD_RING" + + use debug && c="${c} --enable-g=all --enable-debuginfo" + + if use threads; then + c="${c} --enable-threads=multiple --with-thread-package=pthreads" + append-flags "-pthread" + else + c="${c} --with-thread-package=none" + fi + + # enable f90 support for appropriate compilers + if use fortran; then + case "$(tc-getFC)" in + gfortran|ifort|f95) + c="${c} --enable-f77 --enable-f90";; + g77|f77|f2c) + c="${c} --enable-f77 --disable-f90";; + esac + else + c="${c} --disable-f77 --disable-f90" + fi + + sed -i \ + -e 's/ ${exec_prefix}/ ${DESTDIR}${exec_prefix}/' \ + -e 's/ ${libdir}/ ${DESTDIR}${libdir}/' \ + ${S/-beta2/}/Makefile.in + sed -i '/bindir/s/ ${bindir}/ ${DESTDIR}${bindir}/' ${S/-beta2/}/src/pm/mpd/Makefile.in + cd ${S/-beta2/} + + econf ${c} +} + +src_install() { + emake DESTDIR="${D}"|| die + dodoc CHANGES_MPICH2 COPYRIGHT COPYRIGHT_MVAPICH2 LICENSE.TXT \ + README* RELEASE_NOTES* +} + +pkg_postinst() { + einfo "To allow normal users to use infiniband, it is necessary to" + einfo "increase the system limits on locked memory." + einfo "You must increase the kernel.shmmax sysctl value, and increase" + einfo "the memlock limits in /etc/security/limits.conf. i.e.:" + echo + einfo "echo 'kernel.shmmax = 512000000' >> /etc/sysctl.conf" + einfo "echo 512000000 > /proc/sys/kernel/shmmax" + einfo "echo -e '* soft memlock 500000\n* hard memlock 500000' > /etc/security/limits.conf" +} -- cgit v1.2.3