<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><div class="">I can confirm --download-chaco vs --download-trilinos give different chaco partitioning - I can reproduce on my machine. So I made some investigation.</div><div class=""><br class=""></div><div class="">PETSC_HAVE_CHACO_INT_ASSIGNMENT is set only for --download-trilinos. </div><div class="">This macro makes difference only at 4 places:</div><div class=""><br class=""></div><div class="">At src/mat/partition/impls/chaco/chaco.c:8 and src/dm/impls/plex/plexpartition.c:1192:</div><div class="">#if defined(PETSC_HAVE_CHACO_INT_ASSIGNMENT)</div><div class="">#include <chaco.h></div><div class="">#else</div><div class="">/* Older versions of Chaco do not have an include file */</div><div class="">PETSC_EXTERN int interface(int nvtxs, int *start, int *adjacency, int *vwgts,</div><div class="">                     float *ewgts, float *x, float *y, float *z, char *outassignname,</div><div class="">                     char *outfilename, short *assignment, int architecture, int ndims_tot,</div><div class="">                     int mesh_dims[3], double *goal, int global_method, int local_method,</div><div class="">                     int rqi_flag, int vmax, int ndims, double eigtol, long seed);</div><div class="">#endif</div></div><div class=""><br class=""></div><div class="">At src/mat/partition/impls/chaco/chaco.c:68 and src/dm/impls/plex/plexpartition.c:1227:</div><div class="">#if defined(PETSC_HAVE_CHACO_INT_ASSIGNMENT)</div><div class=""><div class="">  int                   *assignment;</div><div class="">#else</div><div class="">  short                 *assignment;  </div><div class="">#endif</div></div><div class=""><div class=""><div class=""><br class=""></div></div><div class="">So it seems PETSc is not responsible for the different outputs.</div><div class=""><br class=""></div><div class="">In Trilinos, Chaco is shipped within the Seacas package. The notice at <a href="http://gsjaardema.github.io/seacas/#chaco" class="">http://gsjaardema.github.io/seacas/#chaco</a> says</div><div class="">"The <tt class="">short *assignment</tt> argument to the interface function
                has been changed to <tt class="">int *assignment</tt> to permit decompositions
                with more than 32,768 processors."</div><div class="">They also say</div><div class="">"There are also now a <tt class="">CHACO_VERSION_MAJOR</tt>, 
                <tt class="">CHACO_VERSION_MINOR</tt>, <tt class="">CHACO_VERSION_PATCH</tt> defines in chaco.h."</div><div class="">Looking there, the version is 3.0.0.</div><div class=""></div><div class=""><br class=""></div><div class="">PETSc's configure --download-chaco gets this one: <a href="http://ftp.mcs.anl.gov/pub/petsc/externalpackages/Chaco-2.2-p2.tar.gz" class="">http://ftp.mcs.anl.gov/pub/petsc/externalpackages/Chaco-2.2-p2.tar.gz</a></div><div class="">It actually includes a git repo. There we can see it's the original author's version + some updates by Barry and Satish, mainly to avoid some name clashes.</div><div class="">The original version is probably this one: <a href="https://www3.cs.stonybrook.edu/~algorith/implement/chaco/distrib/Chaco-2.2.tar.gz" class="">https://www3.cs.stonybrook.edu/~algorith/implement/chaco/distrib/Chaco-2.2.tar.gz</a></div><div class="">Looking at the contents of the tarball, these sources data back to 2000.</div><div class="">I tried comparing these two version but there are two many changes in formatting to identify crucial changes easily. But definitely these two versions differ and can give different results.</div><div class=""><br class=""></div><div>The main intent of my tests in src/dm/impls/plex/examples/tutorials/ex5.c is testing HDF5 I/O with different formats and I just needed to somehow distribute the sequential mesh read from exodus file. So I will replace chaco by simple here. But still it's a question whether we want to do something about the confusing situation with Chaco.</div><div><br class=""></div><div>Vaclav</div><div class=""><br class=""><blockquote type="cite" class=""><div class="">22. 4. 2018 v 17:56, Satish Balay <<a href="mailto:balay@mcs.anl.gov" class="">balay@mcs.anl.gov</a>>:</div><br class="Apple-interchange-newline"><div class=""><div class="">On Sun, 22 Apr 2018, Smith, Barry F. wrote:<br class=""><br class=""><blockquote type="cite" class=""><blockquote type="cite" class="">It would be good to figure out exactly where the difference comes form<br class="">[wrt chaco from trilinos vs separate install of chaco - or some other<br class="">interaction from trilinos]<br class=""></blockquote><br class="">   Different random numbers being generated?<br class=""></blockquote><br class="">Its trilinos vs non-trilinos build of packages - so I don't think its 'different random number generation' issue.<br class=""><br class="">Trilinos install does:<br class=""><br class="">    if self.libraries.check(self.dlib, "interface"):<br class="">      self.addDefine('HAVE_CHACO',1)<br class="">      self.addDefine('HAVE_CHACO_INT_ASSIGNMENT',1)<br class="">    if self.libraries.check(self.dlib, "ML_Set_PrintLevel"):<br class="">      self.addDefine('HAVE_ML',1)<br class="">    if self.libraries.check(self.dlib, "Zoltan_LB_Partition"):<br class="">      self.addDefine('HAVE_ZOLTAN',1)<br class="">    if self.libraries.check(self.dlib, "ex_close"):<br class="">      self.addDefine('HAVE_EXODUSII',1)<br class=""><br class=""><br class="">For one there is different chaco code in petsc based on this flag<br class="">HAVE_CHACO_INT_ASSIGNMENT. Its not clear to me if this is causing the<br class="">difference.<br class=""><br class="">--download-chaco is using 'Chaco-2.2-p2.tar.gz'. This matches the<br class="">latest chaco tarball from their website [Chaco-2.2.tar.gz]. So I do<br class="">not know if chaco packaged by trilinos has changes that cause this<br class="">difference [clearly it added some change that resulted in us using the<br class="">flag HAVE_CHACO_INT_ASSIGNMENT]<br class=""><br class="">And then there is also exodus.. --download-exodus uses the latest<br class="">snapshot from <a href="https://github.com/gsjaardema/seacas/" class="">https://github.com/gsjaardema/seacas/</a><br class=""><br class="">Satish<br class=""></div></div></blockquote></div><br class=""></div></body></html>