comp.lang.ada
 help / color / mirror / Atom feed
* "Go Parallel" site ?
@ 2012-04-11 22:04 Gautier write-only
  2012-04-12 10:07 ` Georg Bauhaus
  0 siblings, 1 reply; 2+ messages in thread
From: Gautier write-only @ 2012-04-11 22:04 UTC (permalink / raw)


For the // specialists, maybe this site is worth a look
  http://goparallel.sourceforge.net/
- also for discussing, comparing, buzzing, etc. ?
Especially from a "already parallel" point of view.
_________________________
Gautier's Ada programming
http://sf.net/users/gdemont/



^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: "Go Parallel" site ?
  2012-04-11 22:04 "Go Parallel" site ? Gautier write-only
@ 2012-04-12 10:07 ` Georg Bauhaus
  0 siblings, 0 replies; 2+ messages in thread
From: Georg Bauhaus @ 2012-04-12 10:07 UTC (permalink / raw)


On 12.04.12 00:04, Gautier write-only wrote:
> For the // specialists, maybe this site is worth a look
>    http://goparallel.sourceforge.net/
> - also for discussing, comparing, buzzing, etc. ?
> Especially from a "already parallel" point of view.

Writing Ada so that the programs make good use of the
Intel processors' internal parallelism may or may not
be straight forward.  Using GNAT, results are encouraging
for, e.g., FPT <= 64 bit types.  No need to do anything special,
just ask for SSE using switches.

Don't know about other compilers.

Distributing sequential processes among processors works
well with task, unless there needs to be a massive amount
of communication between the processes. Rendezvous is
very capable, but also incurs more overhead than more
specialized mechanisms when used absurdly often.

Beyond that, however, I see little in Ada, the language,
that helps with (a) bigger sized FPT operands and SIMD in Intel
compatible CPUs, and (b) with catering to the CPU's mechanisms
for parallel execution of sets of mutually independent instructions.
Is there anything?

GNAT has adopted some of GCC's attribute system for types.
If a program with type attribute works, then the result is
really fast, as may be expected of a parallel, non-communicating
programs. If it doesn't work, the programs seem be be slower.

What type construction facilities of Ada could be used to
say: "Add these two 3D-vectors in parallel?"

I understand that one core feature of the Parasail programing
language is that looping constructs are considered parallel
constructs by default, There's extensive aliasing analysis,
so that, IIUC, the programmer gets confirmation from the compiler
that the loop is pretty safe if the steps of all iterations
are executed in parallel. Isn't this unlike HPF, or OpenMP,
that require, IIRC, that the programmer take care of safety?





^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-04-12 10:08 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-11 22:04 "Go Parallel" site ? Gautier write-only
2012-04-12 10:07 ` Georg Bauhaus

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