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 1JNJnW-0000bo-Go for garchives@archives.gentoo.org; Fri, 08 Feb 2008 03:21:06 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id B13A9E0613; Fri, 8 Feb 2008 03:21:05 +0000 (UTC) Received: from wx-out-0506.google.com (wx-out-0506.google.com [66.249.82.226]) by pigeon.gentoo.org (Postfix) with ESMTP id 8C1A9E0613 for ; Fri, 8 Feb 2008 03:21:05 +0000 (UTC) Received: by wx-out-0506.google.com with SMTP id h30so11643834wxd.10 for ; Thu, 07 Feb 2008 19:21:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:received:date:from:to:subject:message-id:mime-version:content-type:content-disposition:user-agent:sender; bh=lPXVRbK8X04gy3B4bjxwYzPazPp69+CwhWJyQWXRhqU=; b=m3oO/DYaDJ6Mz0c0tbbV7POdPDPXz529cq6vJBrdRn1/eX/FeDj+EZ+igx3WL7tZSrIG1KCU3n6SMpjTHxgKYZrSUwBb5DXyoSufxamydzpVuRwsP5F+65jF9Rw7CxlL9ToqhephnJAh0dtz4XMnvKPDHC4E6Ivew+hRhI4bbmQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:from:to:subject:message-id:mime-version:content-type:content-disposition:user-agent:sender; b=NCVKLLXgR63JeYVttKq/yawliFQ29DS6yU3QxZFcPR6Nsfg/v7+kAEqe7gj6ETKdq9Y1+88FYHCGbhBL03VG5BHugb/+Rg2jgDHt7j1AZtblOPhq9+XXXYRiEydjpP/q042yx+0po4BF3W/6zpgx/p+/3XCGA7X3bKoCf0o+9SM= Received: by 10.70.42.18 with SMTP id p18mr3872774wxp.59.1202440864495; Thu, 07 Feb 2008 19:21:04 -0800 (PST) Received: from mejis.cold-front ( [71.232.26.219]) by mx.google.com with ESMTPS id i18sm20630606wxd.0.2008.02.07.19.21.02 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 07 Feb 2008 19:21:03 -0800 (PST) Received: by mejis.cold-front (Postfix, from userid 1000) id 7C97854050; Thu, 7 Feb 2008 22:19:23 -0500 (EST) Date: Thu, 7 Feb 2008 22:19:23 -0500 From: Justin Bronder To: gentoo-cluster@lists.gentoo.org Subject: [gentoo-cluster] Installing and using multiple MPI implementations at the same time. Message-ID: <20080208031923.GA27361@mejis.cold-front> Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-cluster@lists.gentoo.org Reply-to: gentoo-cluster@lists.gentoo.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="envbJBWh7q8WU6mo" Content-Disposition: inline User-Agent: Mutt/1.5.16 (2007-06-09) Sender: Justin Bronder X-Archives-Salt: fb6f9f6b-831b-4c5a-bb5e-a36389ff92b3 X-Archives-Hash: f29032b0d85f7f47d9e52940e9322d91 --envbJBWh7q8WU6mo Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Well bug 44132 [1] has been a real thorn in my side for some time. The problem being that all mpi implementations currently in portage block each other. This is a real pain for any serious administrators, makes testing new/other implementations too time-consuming, and in my opinion has probably slowed any progress related to getting cluster applications into portage or the overlays. All that being said, I set out to do something about it. Donnie Berkholz w= as nice enough to help me out early on and ended up suggesting that I look at crossdev. I shamelessly ripped off the aforementioned script and tuned it for mpi implementations and packages. It should be noted that all the changes I've implemented do [should, hopefully will] not effect the way the packages behave now, rather it just adds another option. The idea is as follows. sys-cluster/empi: Does the same stuff that crossdev does. You create a new implementation root by specifying a name and mpi implementation package to build it with. [2] Empi adds these to an overlay under a new category with the name you gave. The ebuilds inherit mpi.eclass which handles pushing all the files to /usr/lib/mpi/, and providing files for eselect-mpi. Later, you can add packages by specifying the category name and packages to install. Empi grabs the ones that inherit mpi (including deps), adds them = to the overlay and emerges. The deps stuff hasn't been tested all that much. app-admin/eselect-mpi: Used to setup a user's environment to call a named implementation install. Basically does this by dropping a bash-sourceable file in ${HOME}/.env.d/mpi. The not-so-fun part is that the user then has = to remember to source that file. Also used a fair amount by mpi.eclass. I threw some quick notes showing commands and output up in my devspace. [3] If anyone is at all interested, please try this out and let me know what you think. Even if you don't try it out but have ideas/comments/rants, I'm all= ears. Current overlay has the following ready to be tried out. eselect-mpi/eselect-mpi-0.0.1 sys-cluster/empi-0.1 sys-cluster/hpl-1.0-r3 sys-cluster/lam-mpi-7.1.4-r1 sys-cluster/mpi-examples-1.0 sys-cluster/openmpi-1.2.5-r1 A couple of final words, hpl and mpi-examples currently wouldn't work witho= ut empi, mainly because I'm lazy :) Also I still haven't figured out a good w= ay to handle do{man,doc,www} etcetera, ideas are welcome. There's still a fair amount of work to be done, but I wanted to see if anyone had any feedback regarding the general concept first before pushing on. You can pull the overlay from rsync://cold-front.ath.cx/mpi (for now...) Thanks, [1] http://bugs.gentoo.org/show_bug.cgi?id=3D44132 [2] Currently openmpi-1.2.5-r1 or lam-mpi-7.1.4-r1 [3] http://dev.gentoo.org/~jsbronder/README.empi.txt --=20 Justin Bronder --envbJBWh7q8WU6mo Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.7 (GNU/Linux) iD8DBQFHq8o74MrvBE1wQ8kRApEXAJ4rZ0TpC2MfVE8GOubTVEOm86J0xgCbBNyg Jh5UMXgOYY12VAOgPZfDx6s= =9OBv -----END PGP SIGNATURE----- --envbJBWh7q8WU6mo-- -- gentoo-cluster@lists.gentoo.org mailing list