[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