Begin forwarded message:
> From: Philip Papadopoulos <philip.papadopoulos at gmail.com> > Subject: Re: [petsc-maint #149715] Making a PetSc Roll and Rocks Module > Date: January 24, 2013 9:48:36 AM CST > To: "Schneider, Barry I." <bschneid at nsf.gov> > Cc: Barry Smith <bsmith at mcs.anl.gov> > > Dear Barry^2, > > The major observation about the build process is that building the software > so that it can livesw- > in a standard OS package is more work than it should be. Here is the standard > "meme". > Suppose you have three directories: > sw-src > tmpoot/sw-install > sw-install > > sw-src: the source directory tree for building the sw package (eg > petsc-3.3-p5) > sw-install: the directory where one wants sw installed on the final system. > We use something > like > /opt/petsc/compiler/mpi/interconnect/petsc-version/petsc-arch > > the last directory is an artifact of the way many people build software for > packaging. Instead of > installing into sw-install directly, you install into a tmproot/sw-install. > Then you direct the package > manager to grab all files in tmproot/sw-install to put in the package. The > package itself will > strip off the tmproot leading directory. In other words the package labels > all files as sw-install/. > > So the build issue that I ran into is that the build directory and/or the > tmproot directory path becomes embedded into a large number of files (include > files, mod files, etc). To get around this, > I did a bind mount of (tmproot/sw-install --> /sw-install) and told petsc to > install into /sw-install. I consider that to be a "hack", but petsc isn't > the only software that I've run into that requires this > mounting bit of legerdemain. > > Many software packages will support a dest= or DESTDIR variable for "make > install" that supports the "installation" into a tmproot directory but > leaves no trace of tmproot in any of its configuration files. > (http://git.rocksclusters.org/cgi-bin/gitweb.cgi?p=core/python/.git;a=blob;f=src/python-2/Makefile;h=ced6cc1c6eb6a4f70dd0f3e1b0ccd1ac1e40f989;hb=HEAD) > shows a Makefile for python that supports this. > > Ultimately we create packages of software to simplify a number of things. > Including update of installed software on many machines. > > The other "issue" is not really an issue, but a request. When petsc is built > it creates a petscvariables (or similarly named) file with lots of > environment variables. It would be terrific if it could also create an > environment modules files with this same information. Users often want > different versions/different configs of the same software and environment > modules is now standard in Redhat/CentOS distributions. > > Hope this helps. > > > On Thu, Jan 24, 2013 at 2:44 AM, Schneider, Barry I. <bschneid at nsf.gov> > wrote: > Barry, > I am sending this to Phil Papadopoulos and he can make much more precise > recommendations. Glad you have thick skins. Being at NSF requires the same > physiology. > > -----Original Message----- > From: Barry Smith [mailto:bsmith at mcs.anl.gov] > Sent: Wednesday, January 23, 2013 10:19 PM > To: Schneider, Barry I. > Subject: Re: [petsc-maint #149715] Making a PetSc Roll and Rocks Module > > > Barry, > > By far the most common email we get is regarding installation, so we are > always trying to understand how to improve that process. If we can eliminate > just 20 percent of installation problems that would save us a great deal of > work, so yes, any critique/suggestions are greatly appreciated, and after all > these years we have thick skins so can survive even the harshest suggestions. > > Barry > > On Jan 23, 2013, at 6:13 PM, "Schneider, Barry I." <bschneid at nsf.gov> > wrote: > > > Barry, > > First, thanks for getting back to me so quickly. I view this as a way to > > make things easier for everyone for a library that is really invaluable to > > many of us. Phil P. is a pro at making rolls and modules for the Rocks > > distribution of CentOS that is widely used in the NSF cyberinfrastructure > > and by others. I am both a program manager for the XSEDE project and a > > large user as well so I appreciate the ability to use the library in its > > most transparent fashion. After Phil did his thing we tested it and it > > worked perfectly on our cluster. Basically, you load the module and any > > associated modules such as the Intel compiler and appropriate MPI module > > and then you just use it. No screwing around with building and the rest of > > it. That's the good news. Of course, you need to make a roll for every > > specific combination of compiler and MPI but I believe what Phil has > > learned makes that pretty straightforward to do. While I cannot speak for > > Phil, I would expect that anything he learned would be available to you > > folks if that's what you wanted. The next step for us will be to > > incorporate what we did in the Rocks distribution which will eventually > > propagate to lots of users. Eventually, there will be an XSEDE > > distribution which will be used by an even larger number of sites. We are > > talking about many thousands of users. So, I guess what I am really asking > > is whether you are interested enough in what Phil learned to perhaps modify > > the current PetSc so that it is easier for users to install or make > > available the technology for folks to make their own rolls. Of course, you > > could decide that is not on your agenda and that's fine. But if you > > capitalize on our experience and your great software that would be > > wonderful and perhaps offer users alternatives to the current way of doing > > things that would make life easier. > > > > ************************************************** > > Dr Barry I. Schneider > > Program Director for Cyberinfrastructure Past Chair, APS Division of > > Computational Physics Physics Division National Science Foundation > > 4201 Wilson Blvd. > > Arlington, VA 22230 > > Phone:(703) 292-7383 > > FAX:(703) 292-9078 > > Cell:(703) 589-2528 > > ************************************************** > > > > > > -----Original Message----- > > From: Barry Smith [mailto:bsmith at mcs.anl.gov] > > Sent: Wednesday, January 23, 2013 5:56 PM > > To: petsc-maint at mcs.anl.gov; Schneider, Barry I. > > Subject: Re: [petsc-maint #149715] Making a PetSc Roll and Rocks > > Module > > > > > > Barry, > > > > Thanks for the feedback. We actually desire to support "system" > > installs just as easily as "home directory" installs, though our > > documentation emphasizes "home directory" installs since we feel that is > > most practical for more users. We'd be interested in more specifics on the > > difficulties and any suggestions there may be to make the process > > (especially for multiple compilers/mpis) easier. That is what could we have > > done differently to make it easier for you? > > > > Thanks > > > > Barry > > > > On Jan 23, 2013, at 1:59 PM, "Schneider, Barry I." <bschneid at nsf.gov> > > wrote: > > > >> I thought I might pass on the following to the folks maintaining PetSc. > >> Recently we had the occasion to make a Rocks roll and module to be used on > >> a local cluster here at NSF. Phil Papadopoulos the developer of Rocks at > >> SDSC took the time to help us to do that not simply because we wanted it > >> but also because he wanted to be able to know how to do it and distribute > >> it to a much larger set users of NSF resources and also on out NSF > >> supported platforms. Here are his comments. Perhaps if you feel there > >> are things that could be made easier that would be great. It also could > >> be useful to you directly. > >> > >> BTW, Petsc is kind of a bear to package -- they really expect you to build > >> it in your home directory :-). > >> I took the time to make the roll pretty flexible in terms of > >> compiler/mpi/network support to build various versions. > >> This was modeled after other Triton rolls so that it is consistent with > >> other software -- it likely becomes part of the standard SDSC software > >> stack, so this was a good thing to do all the way around. > >> > >> I'm about ready to add this to our code repository, it will show up on > >> git.rocksclusters.org<http://git.rocksclusters.org> tomorrow morning. > >> > >> > >> ************************************************** > >> Dr Barry I. Schneider > >> Program Director for Cyberinfrastructure Past Chair, APS Division of > >> Computational Physics Physics Division National Science Foundation > >> 4201 Wilson Blvd. > >> Arlington, VA 22230 > >> Phone:(703) 292-7383 > >> FAX:(703) 292-9078 > >> Cell:(703) 589-2528 > >> ************************************************** > >> > >> > > > > > > > -- > Philip Papadopoulos, PhD > University of California, San Diego > 858-822-3628 (Ofc) > 619-331-2990 (Fax) -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20130124/81d3a58c/attachment.html>