Problems to compile NEURON on Mac Xgrid

Post Reply
joe1234
Posts: 8
Joined: Fri Sep 28, 2007 6:46 am
Location: England

Problems to compile NEURON on Mac Xgrid

Post by joe1234 »

Hi,
We are trying to run NEURON 7.0 on a local network of seven eight-core Macs running MacOSX (10.4 &.5). The grid is controlled by apple's Xgrid software which creates a directory on a local mac for each job (with user name nobody), assigning random names.
Unfortunately, it isn't possible to have the jobs use the ordinary NEURON installations of the macs (/Applications/NEURON...), for lack of access (that's a precondition coming from how the xgrid works, according to the person who manages the system).

Thus, what I've tried to do is to install neuron in the new, randomly named, local directory for each job. To have it recognize the path of this directory, compilation of the source code is necessary since the standard installation refers to "/Applications/NEURON.."

It works fine to compile and install NEURON in any directory on the macs when the compilation and installation is done locally. The script I use is this, from http://www.neuron.yale.edu/neuron/insta ... d_osx.html:

#!/bin/bash

export localXgridSessionDir=$(pwd)
export localNRNdir=$localXgridSessionDir/NEURON-7.0
export PATH=$PATH:$localXgridSessionDir:$localNRNdir/nrn/umac/bin

IDIR=$localNRNdir

mkdir neuron
mv iv-17.tar.gz neuron
mv nrn-7.0.tar.gz neuron
cd neuron

tar xzf iv-17.tar.gz
cd iv-17
./configure --prefix=$IDIR/iv --enable-carbon
make
make install

cd $localXgridSessionDir/neuron
tar xzf nrn-7.0.tar.gz
cd nrn-7.0
./configure --prefix=$IDIR/nrn --with-iv=$IDIR/iv --enable-carbon
make
make install
make after_install


However, when we repeat the procedure on the xgrid, the compiler gets stuck and returns this error message:

configure: error: sources are in ., but `cd .' does not work
make: *** No targets specified and no makefile found. Stop.
configure: error: sources are in ., but `cd .' does not work
make: *** No targets specified and no makefile found. Stop.
make: *** No rule to make target `after_install'. Stop.

The manager of the system says that this is due to the NEURON configuration using a restricted shell with limited rights (which for example can not cd, as shown in the above error message).
Any ideas about solving this would be very much appreciated!

Thanks,

Joe
hines
Site Admin
Posts: 1692
Joined: Wed May 18, 2005 3:32 pm

Re: Problems to compile NEURON on Mac Xgrid

Post by hines »

./configure --prefix=$IDIR/nrn --with-iv=$IDIR/iv --enable-carbon
If you only run in batch mode and the communication is via mpi and not shared memory+threads then you really want something like
./configure --prefix=$IDIR/nrn --without-x --with-paranrn
to skip any graphical interface and link against mpi.

But, to answer your question with a question. Are you sure there is no shared file system on the grid that you can use to install
on? I've never heard of a cluster machine that required separate installation of the software for each processor.
hines
Site Admin
Posts: 1692
Joined: Wed May 18, 2005 3:32 pm

Re: Problems to compile NEURON on Mac Xgrid

Post by hines »

After re-reading your message, the following stands out for me:
creates a directory on a local mac for each job
That sounds like a runtime condition, not an install condition. So if you install
in place in $HOME/neuron/nrn can't you run that program on the grid?

Also, how do you normally launch an mpi program?
joe1234
Posts: 8
Joined: Fri Sep 28, 2007 6:46 am
Location: England

Re: Problems to compile NEURON on Mac Xgrid

Post by joe1234 »

Thanks very much for your reply Michael. Unfortunately the grid is down so I haven't been able to attempt your suggestion, but I will try it as soon as it's running again:
./configure --prefix=$IDIR/nrn --without-x --with-paranrn
But, to answer your question with a question. Are you sure there is no shared file system on the grid that you can use to install
on? I've never heard of a cluster machine that required separate installation of the software for each processor.
Yes this is very strange but that's what the person who handles the grid tells me.
That sounds like a runtime condition, not an install condition. So if you install
in place in $HOME/neuron/nrn can't you run that program on the grid?
No it doesn't work to install the readily compiled NEURON standard distribution in the $HOME directory (/private/var/xgrid/agent/tasks/{RANDOMSTRING}/working/) created for the nobody account on submittal to the grid. This gets stuck on that many different NEURON files, text and binary ones, refer to the "/Applications/NEURON..." directory.
Also, how do you normally launch an mpi program?
I don't know if that's what you mean, but we normally submit jobs to the grid like this (with genesis):

Code: Select all

export mainLocalDir=$(pwd)
export PATH=$PATH:"$mainLocalDir":"$mainLocalDir"/genesis:"$mainLocalDir"/genesis/startup:"$mainLocalDir"/genesis/Scripts/neurokit:"$mainLocalDir"/genesis/Scripts/neurokit/prototypes

h=$(pwd | sed 's/\//\\\//g' )
sed  "s/zzz/$h/g" som > .simrc 
cat .simrc

cd "$mainLocalDir"/job
cp ../.simrc .simrc
genesis -nox gensim.g

Thanks again and best wishes,
Joe
hines
Site Admin
Posts: 1692
Joined: Wed May 18, 2005 3:32 pm

Re: Problems to compile NEURON on Mac Xgrid

Post by hines »

This gets stuck on that many different NEURON files, text and binary ones, refer to the "/Applications/NEURON..." directory.
I meant for you to to install from sources. So the configure option --prefix=$IDIR would be --prefix="$mainLocalDir/nrn"
we normally submit jobs to the grid like this (with genesis):
export mainLocalDir=$(pwd)
...
cd "$mainLocalDir"/job
cp ../.simrc .simrc
genesis -nox gensim.g
So you are implying that pwd is different for every process?
And you installed genesis many times? Once per Mac or once per core?
Are the genesis processes communicating among themselves (with MPI) or are they
completely independent of each other (ie. read different parameter files)?

What is the actual command to submit a job to the xgrid?

From an earlier message you mention that:
apple's Xgrid software which creates a directory on a local mac for each job (with user name nobody), assigning random names.
That can be consistent with the above mention of
export mainLocalDir=$(pwd)
only if $(pwd) during run time is consistent with its value during install time.
I'm afraid I'm getting more confused about your environment. Can you mention a url for a document that explains how to compile
and run a program on your xgrid?
joe1234
Posts: 8
Joined: Fri Sep 28, 2007 6:46 am
Location: England

Re: Problems to compile NEURON on Mac Xgrid

Post by joe1234 »

Thanks Michael for your efforts with this. I was just told by the xgrid person here that he's changed the system so that there's a central fileserver where NEURON can be installed, solving the problems we've had. So I won't bother you again!
Here is the Stanford implementation of the xgrid and we're using the same program to submit the jobs as they do, Gridstuffer: http://cmgm.stanford.edu/~cparnot/xgrid ... tails.html
It wraps the commands (xgrid -job submit ....) into a graphical application.
Cheers, Joe
Post Reply