comp.lang.ada
 help / color / mirror / Atom feed
From: Pascal Obry <pascal@obry.net>
Subject: Re: Ada-friendly MPI
Date: 24 Jun 2005 08:39:20 +0200
Date: 2005-06-24T08:39:25+02:00	[thread overview]
Message-ID: <u64w4z2av.fsf@obry.net> (raw)
In-Reply-To: d9fc27$o91$1@korweta.task.gda.pl


jtg <jtg77@poczta.onet.pl> writes:

> Errr... I should have said: job.

Ok.

> OK... If you write your program for MPI, you must run it with "mpirun"
> command in mpi-enabled environment. If you write your program for PVM,
> you must run it with "pvmrun" command in pvm-enabled environment. If you
> use Ada Distributed Annex, there must be a command that dispatches tasks
                                                                     ^^^^^
                                                                 job/partitions
> and establishes communication between them, and the environment itself
> must be configured for Ada Distribution Annex.

No. Job dispatching on the different nodes are handled by GLADE (the
implementation of Annex-E for GNAT). In fact, gnatdist (the equivalent to
gnatmake for building distributed program) can generate a script or Ada main
that will run/dispatch the different job/partitions on the different nodes.

Then the boot-partition (a module in one or more partition) is used to
initialized the distributed program. As you see MPI is far more low-level
than the Ada solution. And the good news is that you can run your Ada program
in a single computer (built with gnatmake) or in a distributed environment
(built with gnatdist) without changing a single line of Ada code.

Looks like magic, but it is not. It is in my opinion the right level of
abstraction to concentrate on your problem instead of low-level stuff.

> That's automatic only if you run it in the proper way and the environment is
> configured. For instance if you run MPI task with "pvmrun" or vice versa
> nothing will be done automatic.

As I said GLADE take care of that.

> How do you run Ada distributed programs? How are they dispatched to other
> nodes (processors/computers)? Is there a command like "adarun" (analogous
> to mpirun and pvmrun)?

As described above this is done by a generated script (shell or Ada).

> > Then use the same simple binding for Ada. If the binding is simple you
> > should be able to create the Ada counterpart without problem.
> I'm afraid I don't understand this.

I mean you can always create a binding to the MPI API for Ada.

> > You did not answer my question, which OS are you using ?
> Now I use Windows/Debian on my personal computer, both with Ada installed.
> Previously:
> 15-node cluster - AIX
> 128-node cluster - AFAIR TurboLinux (no Ada installed, I had to install gnat
>                                       in my home directory)
>                     Now they have Debian on it.

So I don't see a problem there. GNU/Linux Debian is well supported by GNAT.
GNAT is maybe already on your system as it is installed along with the other
GCC's compilers.

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|              http://www.obry.net
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595



  reply	other threads:[~2005-06-24  6:39 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-06-22  4:48 Ada-friendly MPI *-> That Guy Downstairs <-*
2005-06-22  8:28 ` Pascal Obry
2005-06-23 13:08   ` jtg
2005-06-23 16:37     ` Pascal Obry
2005-06-23 20:26       ` jtg
2005-06-23 20:59         ` Pascal Obry
2005-06-23 22:14           ` jtg
2005-06-24  6:39             ` Pascal Obry [this message]
2005-06-24 10:31               ` Ludovic Brenta
2005-06-25  6:33               ` jtg
2005-06-23  8:03 ` jtg
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox