X10 distribution problem using Dist.makeBlockCyclic(...)

3 views
Skip to first unread message

master...@gmail.com

unread,
Jun 22, 2014, 11:55:31 AM6/22/14
to coms49...@googlegroups.com

I'm new to x10, so could you help me a little bit with this problem, I'm confused a bit. The code with first distribution runs fine, while the second, there is an error which I pasted below.

Code 1 - first distribution val D1= Dist.makeBlock((1..3)*(1..2)*(0..3), 0);

Code 2 - second distribution val D2= Dist.makeBlockCyclic((1..3)*(1..2)*(0..3), 0, 1);

Error for second distribution is:

Uncaught exception at place 0: x10.lang.MultipleExceptions
x10.lang.UnsupportedOperationException
at x10::lang::CheckedThrowable::fillInStackTrace()
at x10aux::throwException(x10::lang::CheckedThrowable*)
at 
at HelloWholeWorld::main(x10::array::Array<x10::lang::String*>*)
at x10aux::BootStrapClosure::__apply()
at x10::lang::VoidFun_0_0::__apply(x10::lang::VoidFun_0_0*)
at x10::lang::Activity::run()
at x10::lang::Runtime__Worker::loop()
at x10::lang::Runtime__Worker::__apply()
at x10::lang::Runtime__Pool::__apply(int)
at x10::lang::Runtime::start(x10::lang::VoidFun_0_0*)
at 
at GC_inner_start_routine
at GC_call_with_stack_base
at 
at clone

And one more question, is there a way to distribute the array in such way that different places will get blocks of different sizes. For example: If we have region (0..2), can we distribute it in such way that place 0 will get the block of size 0(nothing), place 1 will get the block of size 1(point 0 ), and place 2 will get the block of size 2(points 1 and 2)

Reply all
Reply to author
Forward
0 new messages