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
Problems to compile NEURON on Mac Xgrid
Re: Problems to compile NEURON on Mac Xgrid
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 --with-iv=$IDIR/iv --enable-carbon
./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.
Re: Problems to compile NEURON on Mac Xgrid
After re-reading your message, the following stands out for me:
in place in $HOME/neuron/nrn can't you run that program on the grid?
Also, how do you normally launch an mpi program?
That sounds like a runtime condition, not an install condition. So if you installcreates a directory on a local mac for each job
in place in $HOME/neuron/nrn can't you run that program on the grid?
Also, how do you normally launch an mpi program?
Re: Problems to compile NEURON on Mac Xgrid
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
Thanks again and best wishes,
Joe
./configure --prefix=$IDIR/nrn --without-x --with-paranrn
Yes this is very strange but that's what the person who handles the grid tells me.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.
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.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?
I don't know if that's what you mean, but we normally submit jobs to the grid like this (with genesis):Also, how do you normally launch an mpi program?
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
Re: Problems to compile NEURON on Mac Xgrid
I meant for you to to install from sources. So the configure option --prefix=$IDIR would be --prefix="$mainLocalDir/nrn"This gets stuck on that many different NEURON files, text and binary ones, refer to the "/Applications/NEURON..." directory.
So you are implying that pwd is different for every process?we normally submit jobs to the grid like this (with genesis):
export mainLocalDir=$(pwd)
...
cd "$mainLocalDir"/job
cp ../.simrc .simrc
genesis -nox gensim.g
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:
That can be consistent with the above mention ofapple's Xgrid software which creates a directory on a local mac for each job (with user name nobody), assigning random names.
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?
Re: Problems to compile NEURON on Mac Xgrid
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
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