On Friday, December 17, 2010, Josh Milthorpe wrote:
> Have a look at the RemoteArray class and the Array.copy(...) and
> Array.asyncCopy(...) methods. These support a variety of patterns of
> local and remote updates - hopefully one of them matches your requirement.
>
> Cheers,
>
> Josh
Josh (et. al.),
I have just looked at the RemoteArray class, because I need to do a remote
copy, but this class remains a mystery to me.
It appears that RemoteArray has two constructors,
- RemoteArray(Array<T> a)
- RemoteArray(Place gpu, Region reg, IndexedMemoryChunk<T> raw, Int raw_len)
The second (as the Place variable is suspiciously called "gpu") appears to be
designed with GPGPU usage in mind. It is quite unclear to me how to specify an
IndexedMemoryChunk. Does this need to be allocated first (via
IndexedMemoryChunk.allocate() ) ? On which place ? And how do I determine the
raw_len ?
The first constructor appears to be able to turn any Array into a RemoteArray,
if the constructor is called at the place where the Array lives.
Now I tried the following.
finish ateach(pt in Dv_tmp ) {
val v_1 = new Array[Double]((0..n-1),(0.0) as Double);
v_src(pt) = RemoteArray(v_1);
val v_2 = new Array[Double]((0..n-1),(0.0) as Double);
v_dst(pt) = RemoteArray(v_2);
[...some code deleted ...]
}
x10c++ v2.1 complained about this with the following messages.
/home/cp/xample/MatMul/mm_X10/src/matmul.x10:100: Method or static constructor
not found for given call.
Call: RemoteArray(x10.array.Array[x10.lang.Double]{self==v_1,
v_1.region.rect==true, v_1.region.rank==1, v_1.region.zeroBased==true,
v_1!=null})
/home/cp/xample/MatMul/mm_X10/src/matmul.x10:102: Method or static constructor
not found for given call.
Call: RemoteArray(x10.array.Array[x10.lang.Double]{self==v_2,
v_2.region.rect==true, v_2.region.rank==1, v_2.region.zeroBased==true,
v_2!=null})
/home/cp/xample/MatMul/mm_X10/src/matmul.x10:174-175: No valid method call
found for call in given type.
Can anyone explain these mysteries to me ?
--
Mit freundlichen Grüßen / Kind regards
Dr. Christoph Pospiech
High Performance & Parallel Computing
Phone: +49-351 86269826
Mobile: +49-171-765 5871
E-Mail: [email protected]
-------------------------------------
IBM Deutschland GmbH
Vorsitzender des Aufsichtsrats: Erich Clementi
Geschäftsführung: Martin Jetter (Vorsitzender),
Reinhard Reschke, Dieter Scholz,
Gregor Pillen, Michael Diemer, Martina Koederitz
Sitz der Gesellschaft: Ehningen / Registergericht: Amtsgericht Stuttgart, HRB
14562 WEEE-Reg.-Nr. DE 99369940
------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and,
should the need arise, upgrade to a full multi-node Oracle RAC database
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
X10-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/x10-users