[Trilinos-Users] [EXTERNAL] zoltan weights and coordinates
Biddiscombe, John A.
biddisco at cscs.ch
Fri Jul 31 08:00:48 EDT 2015
I’m shocked to discover that Zoltan2 calls
xyz[dim].getInputArray(ar);
which just copies the strided data out of its array into a new one. This defats the entire purpose of providing a functor for accessing the input data in the first place! I might just as well copy the data myself and save all the pointer chasing that goes on during the init phase of zoltan2.
Anyway, the values being copied are correct, so if there’s any other obvious reason why the resulting partition should be wrong, I would welcome ideas. In the meantime, I will copy the data on input and use a non strided array, which goes through the fast path in set_up_partitioning_data
thanks
JB
From: Trilinos-Users [mailto:trilinos-users-bounces at trilinos.org] On Behalf Of Biddiscombe, John A.
Sent: 31 July 2015 13:33
To: Devine, Karen D; trilinos-users at trilinos.org
Cc: 'Abhishek Kumar (abhishek.iitd16 at gmail.com)'
Subject: Re: [Trilinos-Users] [EXTERNAL] zoltan weights and coordinates
Apologies, that line is not the problem, but there does seem to be an issue with strided arrays somewhere, if there are any tests that use {x,y,z} format data please let me know as I’d like to see what’s wrong with my stuff (I’m stepping through the code and I’m surprised that a breakpoint on StridedData<> operator[] never gets hit (and I stuck a printf in there which never prints out)
thanks
JB
From: Trilinos-Users [mailto:trilinos-users-bounces at trilinos.org] On Behalf Of Biddiscombe, John A.
Sent: 31 July 2015 10:05
To: Devine, Karen D; trilinos-users at trilinos.org<mailto:trilinos-users at trilinos.org>
Cc: 'Abhishek Kumar (abhishek.iitd16 at gmail.com<mailto:abhishek.iitd16 at gmail.com>)'
Subject: Re: [Trilinos-Users] [EXTERNAL] zoltan weights and coordinates
After a bit of debugging I see the problem,
CreateBasicVector calls
ArrayRCP<const scalar_t> eltV(entries[v], 0, stride*numIds_, false);
which creates the array using numIds * stride, so the offsets are going to be all wrong.
I’d better look and see if there’s some way I can supply an ArrayRCP directly to the inputadapter
JB
From: Trilinos-Users [mailto:trilinos-users-bounces at trilinos.org] On Behalf Of Biddiscombe, John A.
Sent: 31 July 2015 08:13
To: Devine, Karen D; trilinos-users at trilinos.org<mailto:trilinos-users at trilinos.org>
Subject: Re: [Trilinos-Users] [EXTERNAL] zoltan weights and coordinates
Thanks for the explanation Karen,
Incidentally, I think I’ve found a bug. When the coordinate array is {{x,y,z},{x,y,z}, ….} I use
InputAdapter = new inputAdapter_t(localCount, globalIds, x, y, z, stride, stride, stride);
With stride set to 3, and x,y,z pointing to the first 3 elements of the array. The partitioning fails and the output is corrupted.
With an input of {{x,x,x…},{y,y,y…},{z,z,z…}}
And stride set to 1 with x,y,z pointing to begin, begin+localcount, begin+2*loclcount then it works fine.
Am I using the strided input syntax/format wrongly? (the input data is stored as {x,y,z}{x,y,z} so when I use this pattern it is the original data, when I use x,x,x,y,y,y,z,z,z then I make a copy and pass that in – which I’d like to avoid)
Thanks
JB
From: Karen Devine <kddevin at sandia.gov<mailto:kddevin at sandia.gov>>
Date: Thursday 30 July 2015 20:53
To: cscs <biddisco at cscs.ch<mailto:biddisco at cscs.ch>>, "trilinos-users at trilinos.org<mailto:trilinos-users at trilinos.org>" <trilinos-users at trilinos.org<mailto:trilinos-users at trilinos.org>>
Subject: Re: [EXTERNAL] [Trilinos-Users] zoltan weights and coordinates
Currently, scalar_t must be used for both weights and coordinates in Zoltan2. This decision was made so that Zoltan2's templating would more closely match the rest of Trilinos/Tpetra. Use of a separate zgid_t will likely be removed soon as well so that the templated types match Tpetra's. If losing zgid_t will be harmful to you, let me know.
Karen
________________________________
From: Trilinos-Users <trilinos-users-bounces at trilinos.org<mailto:trilinos-users-bounces at trilinos.org>> on behalf of Biddiscombe, John A. <biddisco at cscs.ch<mailto:biddisco at cscs.ch>>
Sent: Wednesday, July 29, 2015 8:23 AM
To: trilinos-users at trilinos.org<mailto:trilinos-users at trilinos.org>
Subject: [EXTERNAL] [Trilinos-Users] zoltan weights and coordinates
Am I correct in thinking that the template types declared for the vector Adaptor input to zoltan
scalar_t weights and vector element values
must be the same type for coordinates and weights.
I’d like to have a mixture of coords using double/float and the weights might even be int.
Is this supported?
Thanks
JB
--
John Biddiscombe, email:biddisco @.at.@ cscs.ch
http://www.cscs.ch/
CSCS, Swiss National Supercomputing Centre | Tel: +41 (91) 610.82.07
Via Trevano 131, 6900 Lugano, Switzerland | Fax: +41 (91) 610.82.82
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://trilinos.org/pipermail/trilinos-users/attachments/20150731/771210e0/attachment.html>
More information about the Trilinos-Users
mailing list