comp.lang.ada
 help / color / mirror / Atom feed
From: jtg <jtg77@poczta.onet.pl>
Subject: Re: Ada-friendly MPI
Date: Fri, 24 Jun 2005 00:14:42 +0200
Date: 2005-06-24T00:14:42+02:00	[thread overview]
Message-ID: <d9fc27$o91$1@korweta.task.gda.pl> (raw)
In-Reply-To: <upsucssbg.fsf@obry.net>

Pascal Obry wrote:

> jtg <jtg77@poczta.onet.pl> writes:
> 
> 
>>In supercomputer environment many problems arise when you want to use Ada.
>>There are very fast communication links between processors and MPI libraries
>>are especially optimized for hardware. You should have Ada libraries for
>>the hardware and I haven't seen any such library even mentioned.
> 
> 
> Have you done some testing ? I know some people using the Ada distributed
> annex on some embedded platform with something like hundred of nodes for HPC
> (neutronics) without problem.
> 
No perfofmance testing. I had even no idea how to run it.

> 
> 
> What do you call a parallel task ? A process a thread ?
Errr... I should have said: job.

> Are you talking about
> an executable (process) and using some batch langauge LSF/PBM ? If so I don't
> see the difference with Ada.
LSF/PBM

> 
> 
>>starts subtasks on some nodes as they become available,
>>establishes MPI communication between them and assigns MPI number to every
>>subtask. Now, how to begin computations using Ada built-in parallelism?
> 
> 
> I'm not talking about parallelism with is more like OpenMP (shared memory)
> than MPI (distributed memory). I'm talking about Ada distributed annex.
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
and establishes communication between them, and the environment itself
must be configured for Ada Distribution Annex.
On 15-processor cluster I could pass a parameter, either MPI or PVM.
Funny thing: PVM was available but not properly configured so you had
to use MPI.
On 128-processor cluster all jobs were by default MPI tasks and I could
not find a way to change it. But even if I did, I'm pretty sure
the system was not configured for Ada Distributed Annex.

> 
> 
>>I don't even know how to establish Ada-style communication between them.
> 
> That's automatic. A program is a set of partition (executable), each partition
> will communicate with others using the Ada built-in Partition Communication
> Subsystem.
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.
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)?

> 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.


> 
> 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.



  reply	other threads:[~2005-06-23 22:14 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 [this message]
2005-06-24  6:39             ` Pascal Obry
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