Dear List,

    Another thing I'd like to ask about is that I'm using X10DT as my IDE,
and theres this panel where I get to set the "communication Interface"
so basically its set to "OpenMPI" in my settings, and there I get to choose
the number of processes (I guess this is just to emulate the nodes(places)
interaction). So basically If you've seen my previous code, its all done in
*ONE* place, so I'm only benefiting from the inter-parallelism of having
several activities (threads), and not Intra-parallelism (the fact of having
several computing nodes) because Its all done in one place and not several
ones. So why do I find changes in the execution time everytime I change the
number of processes? I find this very weird.
can anyone please explain this behavior to me? Am I missing something?

Thank you all,
Regards,
Mohammed El Sayed.

On Mon, Jul 5, 2010 at 7:57 AM, mohammed elsaeedy <
mohammed.elsae...@kaust.edu.sa> wrote:

> Dear Virjay and Krishna,
>
>
>     Thanks a lot for your replies, but my basic question was how to divide
> my region (the one in the for loop) into "P" Equal regions ? as Virjay
> showed us, we divided them into "P" async activities, but how divide the
> regions to work upon them?
>
> Thank you all.
>
> On Mon, Jul 5, 2010 at 7:45 AM, Vijay Saraswat <vi...@saraswat.org> wrote:
>
>> mohammed elsaeedy wrote:
>> > Dear Krishna,
>> >
>> >
>> >       Thank you very much for your reply, and yes it seems very
>> convincing,
>> > but do you know how to modify my code
>> > to be divided to two phases? I mean how to divide the loop part into two
>> > parts (which are the 2 threads)
>> >
>> >
>> >
>> Suppose you have the program::
>>
>> finish for ((i) in 0..N-1)
>>   async doComputation(i);
>>
>> where N is very large.  This will spawn N asyncs. Now you only have P
>> cores. So you can write this as:
>>
>> val step = N/P;
>> finish for ((p) in 0..P-1)
>>   async
>>      for ((i) in step*p..step*(p+1)-1)
>>           doComputation(i);
>>
>> This will spawn only P asyncs, but all the original work will get done.
>>
>> This will give you the same result as the first (but better performance)
>> provided that doComputation(i) does not throw any exceptions.
>>
>>
>>
>>
>>
>> ------------------------------------------------------------------------------
>> This SF.net email is sponsored by Sprint
>> What will you do first with EVO, the first 4G phone?
>> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
>> _______________________________________________
>> X10-users mailing list
>> X10-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/x10-users
>>
>
>
>
> --
> Thank you for your concern.
> Regards,
> Mohammed El Sayed
>



-- 
Thank you for your concern.
Regards,
Mohammed El Sayed
------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
X10-users mailing list
X10-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/x10-users

Reply via email to