Hi Igor,

In the foll piece of code, the activity at place 0 is trying to update a
locally allocated reference array with a block from a distributed value
array:-
   
public class test {
        final region R = [1:20, 1:20];
        final dist D = dist.factory.block(R);
        final double value [.] a = new double value [D] (point [i,j])
{return i+j;};

        public void run() {
                async(here) {
                        double [.] b = new double [ [15:19, 1:5] ];
                        final dist subD = D | [15:19, 1:5];
                        b.update(a | subD);
                }
        }

        public static void main(String[] args) {
                new test().run();
        }
}

This code throws the foll error when run with 4 places:-
 
Exception in thread "pool-0-thread-0: Main Activity"
BadPlaceException(dist. array, var location=place(id=2) access at
place=place(id=0))
        at x10.lang.Runtime.hereCheckPlace(Runtime.java:313)
        at x10.array.DoubleArray.get(DoubleArray.java:103)
        at x10.array.DoubleArray.get(DoubleArray.java:100)
        at x10.array.DoubleArray.update(DoubleArray.java:389)
        at test$2.runX10Task(test.java:133)
        at
x10.runtime.InvocationStrategy$DefaultStrategy.invokeX10Task(InvocationS
trategy.java:57)
        at x10.runtime.Activity.run(Activity.java:192)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecuto
r.java:665)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.ja
va:690)
        at java.lang.Thread.run(Thread.java:799)



I would like some more clarifications here --

-- If I were to def b as "double [.] b = new double [ [1:5, 1:5] ]" and
leave subD unchanged, then I get the error:-

Exception in thread "pool-0-thread-0: Main Activity"
java.lang.AssertionError
        at x10.array.DoubleArray.update(DoubleArray.java:382)
        at test$2.runX10Task(test.java:133)
        at
x10.runtime.InvocationStrategy$DefaultStrategy.invokeX10Task(InvocationS
trategy.java:57)
        at x10.runtime.Activity.run(Activity.java:192)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecuto
r.java:665)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.ja
va:690)
        at java.lang.Thread.run(Thread.java:799)

b here has the same shape and size as before, but a different index set.
I feel that such a capability is desirable.

-- Correct me if I am wrong in saying that if two arrays have identical
regions but different distributions, then assignment/update/overlay
operations should run correctly so long as the locality rule is not
violated.

Thanks,
Aniruddha 
-----------------------------------------------------------
Aniruddha G. Shet                 |Email: [EMAIL PROTECTED]
Oak Ridge National Laboratory     |Phone: +1 (865) 576 5606
http://www.csm.ornl.gov/~anish12/ |Fax:   +1 (865) 576 5491
----------------------------------------------------------- 
 
-----Original Message-----
From: Igor Peshansky [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, April 03, 2007 9:41 PM
To: Shet, Aniruddha G.
Cc: [email protected]
Subject: Re: [X10-users] Array assignment & update/overlay

Shet, Aniruddha G. wrote on 04/03/2007 09:25:03 PM:

> Hi,
> 
> My understanding is that array assignment and update/overlay 
> operations are not designed to operate on arrays that do not having 
> matching distributions, even though they may have matching regions?
> 
> I am seeing that an activity that tries to update a local reference 
> type array with a subdistribution of a global array that is final 
> value type fails with BadPlaceException. The local array and the 
> subdistribution have identical regions. The locality rule is not being

> violated here. Is the mismatch of distributions the reason for
failure?

Hi, Aniruddha,

This behavior sounds like a bug.  The way you described it, it certainly
does not correspond to the X10 language definition.

It would help greatly in debugging this problem if you could reduce it
to a simple (and preferably short) test case.  Feel free to post it to
the list or enter it in Bugzilla.  It would also help if you could show
the full stack trace of the BadPlaceException you're getting.
        Igor
--
Igor Peshansky  (note the spelling change!) IBM T.J. Watson Research
Center
XJ: No More Pain for XML's Gain (http://www.research.ibm.com/xj/)
X10: Parallel Productivity and Performance (http://x10.sf.net/)


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
X10-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/x10-users

Reply via email to