From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([69.77.167.62] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1LSrnt-000171-Tk for garchives@archives.gentoo.org; Fri, 30 Jan 2009 11:44:58 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 454EAE0336; Fri, 30 Jan 2009 11:44:57 +0000 (UTC) Received: from yw-out-1718.google.com (yw-out-1718.google.com [74.125.46.156]) by pigeon.gentoo.org (Postfix) with ESMTP id 00553E0336 for ; Fri, 30 Jan 2009 11:44:56 +0000 (UTC) Received: by yw-out-1718.google.com with SMTP id 5so153820ywm.46 for ; Fri, 30 Jan 2009 03:44:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:message-id:subject:from:to :content-type; bh=4N046Rzi9Y1PivtNlSZtHRAtvfeG9IdkOeJvp0gyE1g=; b=FAun5d7cbdJRKrUDtSdsp9ACwjex0vQJ+1OxFqwAXa3YRS9/02ND2LEXVEhZLWR23T B5oSClauP+8Fl6dawiztVAzOvKgJE2TF+qqGKeDcbL4AWbdZiG3a2b2HuUdedm9Qh3Mq KKNnweLUc+d+QmVg99vM4ODT8ju3hTHVcTBUQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type; b=KfVQgH1wubUZcJiWABtQ0fXJGbooZ6Xf9UuL7S7JM7CKKQuczzhXCPrn572Qd79q+y JPjsHDrV1KVB1Z3mZpcJShDflP9qgorstcxRazxE+jZ6k9STVpwPDk2bKbcY4WJ34RpM 65SzbsRStglXCJzJxhrXFZTinuGx32P5z0BUc= Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-science@lists.gentoo.org Reply-to: gentoo-science@lists.gentoo.org MIME-Version: 1.0 Sender: alexxyum@gmail.com Received: by 10.150.12.5 with SMTP id 5mr408731ybl.120.1233315896710; Fri, 30 Jan 2009 03:44:56 -0800 (PST) In-Reply-To: <4982D6D8.9040408@mol.uj.edu.pl> References: <497629A5.2060001@mol.uj.edu.pl> <200901220233.58997.alexxy@gentoo.org> <497A088E.20500@mol.uj.edu.pl> <200901252314.20524.alexxy@gentoo.org> <4982D6D8.9040408@mol.uj.edu.pl> Date: Fri, 30 Jan 2009 14:44:56 +0300 X-Google-Sender-Auth: 84efe0ff781eb934 Message-ID: Subject: Re: [gentoo-science] sys-cluster infiniband , mpi related soft. update request From: Alexey Shvetsov To: gentoo-science@lists.gentoo.org Content-Type: multipart/alternative; boundary=000e0cd6b17ceb55250461b1bb47 X-Archives-Salt: 763b9dee-f3d4-40a2-b5c5-22d154ecdca4 X-Archives-Hash: eb542f552f9152f3f971f0fc8e17c50f --000e0cd6b17ceb55250461b1bb47 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Yes its possible. I add this ebuild after i test it also i add infiniband support for openmpi 2009/1/30 Janusz Mordarski > Hi, is it finally possible to someone put new ebuild for openib-mvapich2, i > send my ebuild for this package below, it works well, one think maybe is to > add USE flag for SDR or DDR infiniband, > > and register mvapich2 in virtual-mpi as one of the 'official' mpi's to > select? it is easy i think and no effort (just add > sys-cluster/openib-mvapich2 as a RDEPEND) > > also there's something wrong with this new package responsible for programs > such as ibdiagnet ibtrace... , paths are wrong, emerge installs these into > /usr/bin but when i start those programs, they are looking for others in > /usr/local/bin.. need to be fixed > > > openib-mvapich2.ebuild attachment: > > > > -- > Dept of Computational Biophysics & Bioinformatics, > > Faculty of Biochemistry, Biophysics and Biotechnology, > Jagiellonian University, > ul. Gronostajowa 7, > 30-387 Krakow, Poland. > Tel: (+48-12)-664-6380 > > > # Copyright 1999-2008 Gentoo Foundation > # Distributed under the terms of the GNU General Public License v2 > # $Header: $ > > inherit mpi fortran flag-o-matic eutils multilib toolchain-funcs > > SLOT="0" > LICENSE="BSD" > > KEYWORDS="~x86 ~amd64" > > DESCRIPTION="MVAPICH2 MPI-over-infiniband package auto-configured for > OpenIB." > > HOMEPAGE="http://mvapich.cse.ohio-state.edu/" > SRC_URI="${HOMEPAGE}/download/mvapich2/mvapich2-${PV/_/-}p1.tgz" > > S="${WORKDIR}/mvapich2-${PV/_/-}p1" > > IUSE="debug medium-cluster large-cluster rdma romio threads fortran" > > RDEPEND=" > || ( ( sys-cluster/libibverbs > sys-cluster/libibumad > sys-cluster/libibmad > rdma? ( sys-cluster/librdmacm ) ) > sys-cluster/openib-userspace ) > $(mpi_imp_deplist)" > DEPEND="${RDEPEND}" > > pkg_setup() { > MPI_ESELECT_FILE="eselect.mpi.mvapich2" > > 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 > use fortran && fortran_pkg_setup > } > > src_unpack() { > unpack ${A} > cd "${S}" > 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_compile() { > local vcluster="small" > use large-cluster && vcluster="large" > use medium-cluster && vcluster="medium" > > local c="--with-device=ch3:sock > --with-link=DDR > $(use_enable romio) > --with-cluster-size=${vcluster} > --enable-sharedlibs=gcc" > > local enable_srq > [ "${MVAPICH_HCA_TYPE}" == "_MLX_PCI_X_" ] && enable_srq="-DSRQ" > > > append-flags "${BUILD_ARCH}" > append-flags "${enable_srq}" > append-flags "-D${MVAPICH_HCA_TYPE}" > > use debug && c="${c} --enable-g=all --enable-debuginfo" > > if use threads; then > c="${c} --enable-threads=multiple > --with-thread-package=pthreads" > else > c="${c} --with-thread-package=none" > fi > > # enable f90 support for appropriate compilers > if use fortran; then > case "${FORTRANC}" in > gfortran|ifc|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/} > > ! mpi_classed && c="${c} --sysconfdir=/etc/${PN}" > econf $(mpi_econf_args) ${c} > > # > http://www.mcs.anl.gov/research/projects/mpich2/support/index.php?s=faqs#parmake > # https://trac.mcs.anl.gov/projects/mpich2/ticket/297 > emake -j1 || die "emake failed" > #emake || die "emake failed" > } > > src_install() { > emake DESTDIR="${D}" install || die "make install failed" > mpi_imp_add_eselect > } > > 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 unlimited\n* hard memlock unlimited' > > /etc/security/limits.conf" > } > > > -- Gentoo GNU/Linux 2.6.25 Mail to alexxyum@gmail.com alexxy@gentoo.ru --000e0cd6b17ceb55250461b1bb47 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Yes its possible. I add this ebuild after i test it
also i add infiniban= d support for openmpi

2009/1/30 Janusz Mo= rdarski <janek@= mol.uj.edu.pl>
Hi, is it finally= possible to someone put new ebuild for openib-mvapich2, i send my ebuild f= or this package below, it works well, one think maybe is to add USE flag fo= r SDR or DDR infiniband,

and register mvapich2 in virtual-mpi as one of the 'official' mpi&#= 39;s to select? it is easy i think and no effort (just add sys-cluster/open= ib-mvapich2 as a RDEPEND)

also there's something wrong with this new package responsible for prog= rams such as ibdiagnet ibtrace... , paths are wrong, emerge installs these = into /usr/bin but when i start those programs, they are looking for others = in /usr/local/bin.. need to be fixed


openib-mvapich2.ebuild attachment:



--
Dept of Computational Biophysics & Bioinformatics,

Faculty of Biochemistry, Biophysics and Biotechnology,
Jagiellonian University,
ul. Gronostajowa 7,
30-387 Krakow, Poland.
Tel: (+48-12)-664-6380


# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

inherit mpi fortran flag-o-matic eutils multilib toolchain-funcs

SLOT=3D"0"
LICENSE=3D"BSD"

KEYWORDS=3D"~x86 ~amd64"

DESCRIPTION=3D"MVAPICH2 MPI-over-infiniband package auto-configured fo= r OpenIB."

HOMEPAGE=3D"http://mvapich.cse.ohio-state.edu/"
SRC_URI=3D"${HOMEPAGE}/download/mvapich2/mvapich2-${PV/_/-}p1.tgz"= ;

S=3D"${WORKDIR}/mvapich2-${PV/_/-}p1"

IUSE=3D"debug medium-cluster large-cluster rdma romio threads fortran&= quot;

RDEPEND=3D"
       || ( ( sys-cluster/libibverbs
                    &nbs= p;  sys-cluster/libibumad
                    &nbs= p;  sys-cluster/libibmad
                    &nbs= p;  rdma? ( sys-cluster/librdmacm ) )
                    &nbs= p;  sys-cluster/openib-userspace )
       $(mpi_imp_deplist)"
DEPEND=3D"${RDEPEND}"

pkg_setup() {
       MPI_ESELECT_FILE=3D"eselect.mpi.mvapich2&q= uot;

       if [ -z "${MVAPICH_HCA_TYPE}" ]; then=
               elog "${PN} ne= eds to know which HCA it should optimize for.  This is"
               elog "passed t= o the ebuild with the variable, \${MVAPICH_HCA_TYPE}."
               elog "Please c= hoose 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_H= CA_TYPE undefined"
       fi

       case ${ARCH} in
               amd64)
                    &nbs= p;  if grep Intel /proc/cpuinfo &>/dev/null; then
                    &nbs= p;          BUILD_ARCH=3D-D_EM64T_
                    &nbs= p;  else
                    &nbs= p;          BUILD_ARCH=3D-D_X86_64_
                    &nbs= p;  fi
                    &nbs= p;  ;;
               x86)
                    &nbs= p;  BUILD_ARCH=3D-D_IA32_
                    &nbs= p;  ;;
               ia64)
                    &nbs= p;  BUILD_ARCH=3D-D_IA64_
                    &nbs= p;  ;;
               ppc64)
                    &nbs= p;  BUILD_ARCH=3D-D_PPC64_
                    &nbs= p;  ;;
               *)
                    &nbs= p;  die "unsupported architecture: ${ARCH}"
                    &nbs= p;  ;;
       esac
       use fortran && fortran_pkg_setup
}

src_unpack() {
       unpack ${A}
       cd "${S}"
       einfo "Disabling examples"
       # Examples are always compiled with the default= 'all' target.  This
       # causes problems when we don't build suppo= rt for everything, including
       # threads, mpe2, etc.  So we're not go= ing to build them.
       sed -i 's:.*cd examples && ${MAKE} = all.*::' Makefile.in
}

src_compile() {
local vcluster=3D"small"
use large-cluster   && vcluster=3D"large"
use medium-cluster  && vcluster=3D"medium"

       local c=3D"--with-device=3Dch3:sock
       --with-link=3DDDR
               $(use_enable romio)=
               --with-cluster-size= =3D${vcluster}
       --enable-sharedlibs=3Dgcc"

       local enable_srq
       [ "${MVAPICH_HCA_TYPE}" =3D=3D "= _MLX_PCI_X_" ] && enable_srq=3D"-DSRQ"


       append-flags "${BUILD_ARCH}"
       append-flags "${enable_srq}"
       append-flags "-D${MVAPICH_HCA_TYPE}"<= br>
       use debug && c=3D"${c} --enable-g= =3Dall --enable-debuginfo"

       if use threads; then
               c=3D"${c} --en= able-threads=3Dmultiple --with-thread-package=3Dpthreads"
       else
               c=3D"${c} --wi= th-thread-package=3Dnone"
       fi

       # enable f90 support for appropriate compilers<= br>        if use fortran; then
               case "${FORTRA= NC}" in
                    &nbs= p;  gfortran|ifc|ifort|f95)
                    &nbs= p;          c=3D"${c} --enable-f77 --enable-f= 90";;
                    &nbs= p;  g77|f77|f2c)
                    &nbs= p;          c=3D"${c} --enable-f77 --disable-= f90";;
               esac
       else
               c=3D"${c} --di= sable-f77 --disable-f90"
       fi

       sed -i \
               -e 's/ ${exec_p= refix}/ ${DESTDIR}${exec_prefix}/' \
               -e 's/ ${libdir= }/ ${DESTDIR}${libdir}/' \
               ${S/-beta2/}/Makefi= le.in
       sed -i '/bindir/s/ ${bindir}/ ${DESTDIR}${b= indir}/' ${S/-beta2/}/src/pm/mpd/Makefile.in
       cd ${S/-beta2/}

       ! mpi_classed && c=3D"${c} --sysco= nfdir=3D/etc/${PN}"
       econf $(mpi_econf_args) ${c}

       # http://= www.mcs.anl.gov/research/projects/mpich2/support/index.php?s=3Dfaqs#parmake=
       # https://trac.mcs.anl.gov/projects/mpic= h2/ticket/297
       emake -j1 || die "emake failed"
       #emake || die "emake failed"
}

src_install() {
       emake  DESTDIR=3D"${D}" install = || die "make install failed"
       mpi_imp_add_eselect
}

pkg_postinst() {
       einfo "To allow normal users to use infini= band, it is necessary to"
       einfo "increase the system limits on locke= d 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 =3D 5120000= 00' >> /etc/sysctl.conf"
       einfo "echo 512000000 > /proc/sys/kerne= l/shmmax"
       einfo "echo -e '* soft memlock unlimit= ed\n* hard memlock unlimited' > /etc/security/limits.conf"
}





--
Gentoo GNU/Linux 2.= 6.25

Mail to
     alexxyum@gmail.com
     alexxy@gentoo.ru
--000e0cd6b17ceb55250461b1bb47--