Hi, I'll let Dave Cunningham comment on the GPU part, but I'd guess that the IndexedMemoryChunk is the one you get from [a local] Array.raw() and raw_len allows you to address a subset of the chunk.
Your region literals also need to be 0..(n-1) rather than 0..n-1, now (if you're using trunk) or in the future (in an upcoming release), per some recent changes in trunk. Minor From: Christoph Pospiech <christoph.pospi...@de.ibm.com> To: Mailing list for users of the X10 programming language <x10-users@lists.sourceforge.net> Date: 01/03/2011 06:16 AM Subject: Re: [X10-users] array question 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: christoph.pospi...@de.ibm.com ------------------------------------- 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 X10-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/x10-users ------------------------------------------------------------------------------ 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 X10-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/x10-users