Hi Wang,
using 'async' is the correct way to create an asynchronous activity, and 'at
(p) async' is the correct way to create a remote activity. So your code is
already correctly parallelized for two places.
The reason your output is always in the same order is the buffering of
output streams. Calling Console.OUT.println(...) at a place performs a
buffered write to stdout for that place. When the buffer is flushed it is
sent to place 0 (or the launcher process) and combined in the stdout for
the program. In your code, no place ever completely fills its buffer, so
all the buffers are flushed in order when the program terminates.
If you want to force the buffer to be flushed, use
Console.OUT.flush();
after each call to println. However, please be aware that X10 does not
guarantee any ordering of output between activities or places. Therefore
the interleaving of output may still be different from the order in which
the activities call Console.OUT.println(). If you do need to enforce
ordering between activities, use a synchronization construct such as finish
or clocks.
Cheers,
Josh
On 22 August 2014 02:54, 王辰 <wang...@163.com> wrote:
> Hello everyone, i'm new to x10.
> I have a little problem about parallelization, here's my code:
>
> public class Hello {
>
> public static def main(args:Rail[String]) {
>
> val hello = new Hello();
>
> at (Place(1)) async hello.test();
>
> at (Place(0)) async hello.test();
>
> }
>
> private def test() {
>
> for(var i:Int=0n;i<100n;i++) {
>
> Console.OUT.println("test,"+here);
>
> }
>
> }
>
>
> I thought the output should not be the same if i run it several time.
> But it was always the same:
>
> Place(0)
> Place(0)
> ...
> Place(0)
> Place(0)
> Place(1)
> Place(1)
> ...
> Place(1)
> Place(1)
>
> Can anyone tell me is it so and what should i do to implement real
> parallelization?
>
> Thanks.
>
>
>
>
> ------------------------------------------------------------------------------
> Slashdot TV.
> Video for Nerds. Stuff that matters.
> http://tv.slashdot.org/
> _______________________________________________
> X10-users mailing list
> X10-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/x10-users
>
>
------------------------------------------------------------------------------
Slashdot TV.
Video for Nerds. Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
X10-users mailing list
X10-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/x10-users