comp.lang.ada
 help / color / mirror / Atom feed
From: brentcarnellis@hotmail.com
Subject: Re: Parallel execution on SGI with GNAT
Date: Tue, 30 Oct 2001 05:08:36 GMT
Date: 2001-10-30T05:08:36+00:00	[thread overview]
Message-ID: <3bde2826.3498968@news.tc.umn.edu> (raw)
In-Reply-To: 9rkn07$nep$1@nh.pace.co.uk

On Mon, 29 Oct 2001 17:59:18 -0500, "Marin David Condic"
<dont.bother.mcondic.auntie.spam@[acm.org> wrote:

>This is just a guess since I'm not familiar with your platform, but it may


Since you forgot to make that important guess, I'll donate a freebie:

   setenv MY_MUSTANG_FELL_IN_A_SINK_HOLE true

and as a precautionary measure

   setenv TERMITES_ARE_EATING_THE_SOFTWARE false


>help you to figure out what is going on. Typically, an Ada compiler riding
>on top of a workstation OS will map Ada tasks to OS threads. The compiler
>will use whatever OS calls you have to create, schedule, rendesvous and
>terminate tasks. If your OS does not schedule threads on multiple CPUs, but
>schedules processes on multiple CPUs, then you have to adopt a different
>strategy by building your system as independent programs that can be run as
>processes & then use whatever you have for inter-process communication.
>(TCP/IP is a common way to go for this.) Its possible that your OS can be
>configured to run threads on multiple processors, so you might look into the
>OS documentation and see how this might be done. Perhaps you'll get an
>answer from someone more familiar with your particular configuration.
>
>It would be great to have tasks scheduled on multiple processors because
>then you've got all the facilities you need to make optimum use of the
>processors entirely from within the language. However, there is usually a
>non-trivial penalty for scheduling on multiple processors in the way of
>inter-process communication, which is why it may not be done.
>
>MDC
>--
>Marin David Condic
>Senior Software Engineer
>Pace Micro Technology Americas    www.pacemicro.com
>Enabling the digital revolution
>e-Mail:    marin.condic@pacemicro.com
>Web:      http://www.mcondic.com/
>
>
>"Jay Fantini" <jay.fantini@dfrc.nasa.gov> wrote in message
>news:3BDDD7EC.EC896675@dfrc.nasa.gov...
>>
>
>
>----------------------------------------------------------------------------
>----
>
>
>> Ada experts,
>>
>> Maybe you can help me: I am trying to get the following program to execute
>> on a 6-CPU SGI ONYX-2 R12000 based system. The system is running IRIX 6.5
>> and I am using GNAT Ada-95 version 3.11p for SGI. The program does compile
>> and run but it only uses 1 CPU and I would like for it to execute on 3
>CPUs.
>> This program is a prototype for a much larger program.
>>
>> Do I need to set an environment variable or am I using the wrong Ada-95
>> construct? Is there a PRAGMA I should use? Please post all answers to this
>NG.
>>
>> TIA,
>>
>> -Jay
>>
>> -- ******************************************************************
>>
>> with text_io;
>> with integer_text_io;
>> with tems_floating_point_std;
>> with floating_point_math_lib;
>> with fp_display;
>> with higher_functions;
>>         with wexzal;
>>
>> use  tems_floating_point_std;
>> use  floating_point_math_lib;
>> use  higher_functions;
>>         use  wexzal;
>>
>> procedure hog is
>>
>>         task type wzlsum(upper_limit: integer);
>>         task body wzlsum is
>>         x   :floating_point;
>>         s   :floating_point;
>>         begin
>>         for i in 1..upper_limit loop
>>           x:=floating_point(i);
>>           s:=s+1.0/(x*wzl(x));
>>           end loop;
>>         text_io.put("Sum for n=");
>>         integer_text_io.put(upper_limit);
>>         text_io.put(" is S=");
>>         fp_display.prt(s);
>>         text_io.new_line;
>>         end wzlsum;
>>
>>         cpu_hog_5    :wzlsum(5000000);  -- Do big calculation in parallel
>>         cpu_hog_4    :wzlsum(4000000);
>>         cpu_hog_3    :wzlsum(3000000);
>>
>> begin
>>         text_io.put_line("Program HOG is done!");
>> end hog;
>>
>
>

On SGI/GNAT, try this 
   setenv PTHREAD_SPROC_COUNT AUTO

good luck


"Enquiring minds ... should read a book"
	-- Dillinger Four	





  reply	other threads:[~2001-10-30  5:08 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-10-29 22:27 Parallel execution on SGI with GNAT Jay Fantini
2001-10-29 22:59 ` Marin David Condic
2001-10-30  5:08   ` brentcarnellis [this message]
2001-10-31  8:56     ` Peter Hermann
2001-10-30 11:30 ` Tarjei T. Jensen
2001-10-30 12:31 ` David C. Hoos
2001-10-30 14:11 ` Dale Pennington
replies disabled

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