From: ···········@yahoo.de
Subject: parallel computing and submitting jobs to a cluster: how?
Date: 
Message-ID: <0e9c7a64-efb3-40e3-9450-2c150f870f81@k8g2000yqn.googlegroups.com>
Hi: can the followig be done in CMUCL or SBCL:

We compile our Fortran programs on our local machine. We then submitt
(or login in into the cluster an we type ./a.out) the job to a Linux
cluster. I have never understood how this works: compiling locally but
having it executed  on a foreign machine where you would think you
would have to compile it for the foreign architecture first.

I haven't tried it with Bigloo (where you do a.outs naturally) but
would be interested in how to do it with CMUCL. I do not think we are
allowed to install programs on the cluster except on our local
machine.

Btw: in Fortran one can easily give some 'comments' and the code is
automatically compiled for multiprocessors. How to do it in CMUCL or
SBCL?

Thanks, Schneewittchen

From: Juanjo
Subject: Re: parallel computing and submitting jobs to a cluster: how?
Date: 
Message-ID: <c0303233-db3b-4813-aaf0-c84b437c555b@t2g2000yqm.googlegroups.com>
Hi, Snow White,

you question is too vague. Running things on clusters is not just like
running programs on a single-user computer. Some knowledge of what is
going on is important.

One needs to know whether the remote nodes have access to the
directories in which you store the executable, what kind of queue
system you have, whether the remote nodes have the same architecture.
Given a sensible administrator, the first and last questions would
have positive answers.

Without further information, if you are running the equivalent of
"submit-to-queue ./a.out" then a solution one might try is to use one
of the existing tools to turn your lisp program into an executable,
perhaps with the name you are used to, a.out or some other name, and
use the same command to run the program in the cluster.

This presumes that the other cluster nodes have the same configuration
as the node in you install CMUCL or SBCL, for the program will need a
similar version of the C library and environment. However, this is
probably the case, since you are running your fortran programs just as
they come from your compiler/linker.

Juanjo
From: Albert Krewinkel
Subject: Re: parallel computing and submitting jobs to a cluster: how?
Date: 
Message-ID: <m2d4g2zgqi.fsf@visnet-80.csl.sri.com>
···········@yahoo.de writes:

> Btw: in Fortran one can easily give some 'comments' and the code is
> automatically compiled for multiprocessors. How to do it in CMUCL or
> SBCL?

I wondered about this a lot lastly, too: Is there a way to tell the
compiler (probably in an implementation dependend manner) that a
function does not alter its arguments, so that those functions can
always be parellelized?  Wouldn't allowing something like
  (declare (side-effect-free some-function))
make it easier to use concurrency?

(By asking this, I probably reveal my complete lack of understanding of
compilers and the benefits of functional programming.)

Thanks,
Albert
From: Pascal Costanza
Subject: Re: parallel computing and submitting jobs to a cluster: how?
Date: 
Message-ID: <6qcntuFbpmeoU3@mid.individual.net>
Albert Krewinkel wrote:
> ···········@yahoo.de writes:
> 
>> Btw: in Fortran one can easily give some 'comments' and the code is
>> automatically compiled for multiprocessors. How to do it in CMUCL or
>> SBCL?
> 
> I wondered about this a lot lastly, too: Is there a way to tell the
> compiler (probably in an implementation dependend manner) that a
> function does not alter its arguments, so that those functions can
> always be parellelized?  Wouldn't allowing something like
>   (declare (side-effect-free some-function))
> make it easier to use concurrency?
> 
> (By asking this, I probably reveal my complete lack of understanding of
> compilers and the benefits of functional programming.)

It wouldn't be sufficient, but it could help.

There is an overhead involved in spawning threads and collecting results 
from threads, so blindly parallelizing code won't give you any benefits, 
though.


Pascal

-- 
My website: http://p-cos.net
Common Lisp Document Repository: http://cdr.eurolisp.org
Closer to MOP & ContextL: http://common-lisp.net/project/closer/