Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

do ada tasks run accross 16 cpu boxs? or stuck on 1 cpu?

223 views
Skip to first unread message

johannes falcone

unread,
May 7, 2013, 4:16:21 PM5/7/13
to
How would an ada program use 16 core box?

Are the tasks green threads? meaning 1 cpu microthreads? or are they somehow green threads than can run on 16 cpus at same time? or are they like os threads and heavy?

I think they are the best combo green threads than can use N cpus by being farmed out to all avaialble cpu as wrokers cpus .... but not sure..

Jeffrey Carter

unread,
May 7, 2013, 4:29:45 PM5/7/13
to
This depends on the compiler. Most implement tasks so they use the available
processors, but some don't.

--
Jeff Carter
"We call your door-opening request a silly thing."
Monty Python & the Holy Grail
17

Ludovic Brenta

unread,
May 7, 2013, 4:45:19 PM5/7/13
to
Jeffrey Carter writes on comp.lang.ada:
> On 05/07/2013 01:16 PM, johannes falcone wrote:
>> How would an ada program use 16 core box?
>>
>> Are the tasks green threads? meaning 1 cpu microthreads? or are they
>> somehow green threads than can run on 16 cpus at same time? or are
>> they like os threads and heavy?
>>
>> I think they are the best combo green threads than can use N cpus by
>> being farmed out to all avaialble cpu as wrokers cpus .... but not
>> sure..
>
> This depends on the compiler. Most implement tasks so they use the
> available processors, but some don't.

And on the underlying operating system. With GNAT on GNU/Linux, threads
are native and use all available CPU cores.

--
Ludovic Brenta.

johannes falcone

unread,
May 7, 2013, 7:10:11 PM5/7/13
to
aw yeah!!!!

how about free or net bsd?

jo...@peppermind.com

unread,
May 8, 2013, 9:13:11 AM5/8/13
to
AFAIK on GNAT they are OS threads. However, when implementing my own green threads (for a virtual machine) I've found out that assigning twice than the available tasks than CPU cores (or, available hyperthreads if HT is on) for some reason increased performance, so it seems worth experimenting rather than relying on theoretical assumptions.

Anyway, on my machine running GNAT 4.6 on Linux tasks easily max out all available cores at 100%.

jo...@peppermind.com

unread,
May 8, 2013, 9:15:14 AM5/8/13
to
>I've found out that assigning twice than the available tasks than CPU cores

Sorry, that's supposed to read "assigning twice as many tasks than available CPU cores"...

ldries46

unread,
May 12, 2013, 3:17:25 AM5/12/13
to
I just have created my own program in which I originally did all ca;vulation
on one CPU. Now I created a part of the calculation in tasks running
paralel. On my four core systemI achieved a speed that exceded the original
speed by a factor of more than 3. This meant three cores were running the
intensive calculation part in the tasks and one the administration around
the proces. (all with GNAT ADA on windows 7). The same exe file ran even
faster on a 4 core with hyperthreading machine of which the clock speed was
lower than that of the first test. I did nothing extraordinary to achieve
this.

L. Dries

"johannes falcone" schreef in bericht
news:19811f9b-0fe9-449c...@googlegroups.com...
Message has been deleted

Michael Erdmann

unread,
May 21, 2013, 3:41:20 PM5/21/13
to
On 05/12/2013 06:35 PM, Dennis Lee Bieber wrote:
> On Sun, 12 May 2013 09:17:25 +0200, "ldries46" <bertus...@planet.nl>
> declaimed the following in comp.lang.ada:
>
>> I just have created my own program in which I originally did all ca;vulation
>> on one CPU. Now I created a part of the calculation in tasks running
>> paralel. On my four core systemI achieved a speed that exceded the original
>> speed by a factor of more than 3. This meant three cores were running the
>> intensive calculation part in the tasks and one the administration around
>> the proces. (all with GNAT ADA on windows 7). The same exe file ran even
>> faster on a 4 core with hyperthreading machine of which the clock speed was
>> lower than that of the first test. I did nothing extraordinary to achieve
>> this.
>>
>
> I suspect you had a number cruncher application in which the intense
> code and most data all fit within each core's high-speed cache.
>
Try to bind your tasks to the CPU's and look at top (option 1). Then you
can observe what your cpu's are doing. May be you should have a look at
parafine :-)





Marc C

unread,
May 22, 2013, 8:14:34 AM5/22/13
to
On Tuesday, May 21, 2013 2:41:20 PM UTC-5, Michael Erdmann wrote:

>
> Try to bind your tasks to the CPU's and look at top (option 1). Then you
> can observe what your cpu's are doing. May be you should have a look at
> parafine :-)

I think you meant Paraffin (http://sourceforge.net/projects/paraffin). And that is a *really* nice package.

Marc A. Criley


0 new messages