<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Apr 23, 2018 at 3:13 PM, Satish Balay <span dir="ltr"><<a href="mailto:balay@mcs.anl.gov" target="_blank">balay@mcs.anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I was thinking more in terms of: our download options should match<br>
source distribution model of externalpackages [but not necessarily<br>
build all components]<br>
<br>
I see chaco is primarily part of seacas and not distributed separately.<br>
[and then seacas is redistributed in trilinos]<br></blockquote><div><br></div><div>Here is the problem with that. Chaco is not great. Its aggressively mediocre.</div><div>The only reason to use it was its staggering lack of dependencies and simple</div><div>build. Take that away and there is no reason whatsoever to have it.</div><div><br></div><div>   Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
So how about:<br>
<br>
--download-seacas [build chaco and exodusii]<br>
<br>
And remove the separate package support for exodusii and chaco [i.e<br>
remove --download-exodusii --download-chaco]<br>
<br>
[and then somehow make the seacas build via trilinos match the standalone build]<br>
<br>
I see zoltan is distributed separately, in seacas and also in trilinos<br>
[so current --download-zoltan is still ok?]<br>
<br>
ML is the odd one out - I guess we'll have to extract/repackage the<br>
latest version from trilinos - and use it with --download-ml.<br>
<span class="HOEnZb"><font color="#888888"><br>
Satish<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Mon, 23 Apr 2018, Smith, Barry F. wrote:<br>
<br>
> <br>
>   Making people install all of Trilinos for just Chaco or just ML is just plain mean and we are not mean.<br>
> <br>
>    Suitesparse is at least not huge and is well contained so just because we install all of it doesn't mean we should require the same route for Trilinos.<br>
> <br>
>    Barry<br>
> <br>
> <br>
> <br>
> > On Apr 23, 2018, at 10:11 AM, Balay, Satish <<a href="mailto:balay@mcs.anl.gov">balay@mcs.anl.gov</a>> wrote:<br>
> > <br>
> > Ah - yes. I did check the difference in petsc code wrt<br>
> > PETSC_HAVE_CHACO_INT_<wbr>ASSIGNMENT - but didn't check the details inside<br>
> > trilinos/chaco. So the available standalone chaco tarball is version<br>
> > 2.2 but the version included inside seacas is 3.0.0 [with a switch<br>
> > from short to int]<br>
> > <br>
> > We have these hierarchy of packages - and need to figure out a better<br>
> > [install] interface so the same version is used irrespective of the<br>
> > mode of install?<br>
> > <br>
> > Right now - --download-exodusii gets and installs seacas [with only<br>
> > exodusii enabled]<br>
> > <br>
> > So we have:<br>
> > <br>
> > --download-ml --download-chaco --download-zoltan [separate packages]<br>
> > <br>
> > --download-exodusii [installs seacas - and enables only exodusii]<br>
> > <br>
> > --download-trilinos [installs trilinos which includes seacas(exodusii,chaco), ml - zoltan]<br>
> > <br>
> > since seacas is distributed separately and includes exodusii and chaco - have:<br>
> > <br>
> > --download-seacas=1 [with options exodusii=1,chaco=1 by default [or disabled?]<br>
> > <br>
> > --download-seacas=1<br>
> > --download-seacas=1 --download-seacas-exodusii=0 [only install chaco]<br>
> > --download-seacas-chaco=0 [only install exodusii]<br>
> > <br>
> > [but zoltan, ml are not distributed separately?]<br>
> > <br>
> > Or should we always use trilinos? - if one wants any of the above<br>
> > packages [a huge download]? and enable or disable selected<br>
> > sub-components as desired?<br>
> > <br>
> > Another similar package is SuiteSparse. At some point we had install<br>
> > for only sub-components(cholmod,<wbr>umfpack) - and then merged them all<br>
> > into --download-suitesparse.<br>
> > <br>
> > Satish<br>
> > <br>
> > On Mon, 23 Apr 2018, Vaclav Hapla wrote:<br>
> > <br>
> >> I can confirm --download-chaco vs --download-trilinos give different chaco partitioning - I can reproduce on my machine. So I made some investigation.<br>
> >> <br>
> >> PETSC_HAVE_CHACO_INT_<wbr>ASSIGNMENT is set only for --download-trilinos. <br>
> >> This macro makes difference only at 4 places:<br>
> >> <br>
> >> At src/mat/partition/impls/chaco/<wbr>chaco.c:8 and src/dm/impls/plex/<wbr>plexpartition.c:1192:<br>
> >> #if defined(PETSC_HAVE_CHACO_INT_<wbr>ASSIGNMENT)<br>
> >> #include <chaco.h><br>
> >> #else<br>
> >> /* Older versions of Chaco do not have an include file */<br>
> >> PETSC_EXTERN int interface(int nvtxs, int *start, int *adjacency, int *vwgts,<br>
> >>                     float *ewgts, float *x, float *y, float *z, char *outassignname,<br>
> >>                     char *outfilename, short *assignment, int architecture, int ndims_tot,<br>
> >>                     int mesh_dims[3], double *goal, int global_method, int local_method,<br>
> >>                     int rqi_flag, int vmax, int ndims, double eigtol, long seed);<br>
> >> #endif<br>
> >> <br>
> >> At src/mat/partition/impls/chaco/<wbr>chaco.c:68 and src/dm/impls/plex/<wbr>plexpartition.c:1227:<br>
> >> #if defined(PETSC_HAVE_CHACO_INT_<wbr>ASSIGNMENT)<br>
> >>  int                   *assignment;<br>
> >> #else<br>
> >>  short                 *assignment;  <br>
> >> #endif<br>
> >> <br>
> >> So it seems PETSc is not responsible for the different outputs.<br>
> >> <br>
> >> In Trilinos, Chaco is shipped within the Seacas package. The notice at <a href="http://gsjaardema.github.io/seacas/#chaco" rel="noreferrer" target="_blank">http://gsjaardema.github.io/<wbr>seacas/#chaco</a> <<a href="http://gsjaardema.github.io/seacas/#chaco" rel="noreferrer" target="_blank">http://gsjaardema.github.io/<wbr>seacas/#chaco</a>> says<br>
> >> "The short *assignment argument to the interface function has been changed to int *assignment to permit decompositions with more than 32,768 processors."<br>
> >> They also say<br>
> >> "There are also now a CHACO_VERSION_MAJOR, CHACO_VERSION_MINOR, CHACO_VERSION_PATCH defines in chaco.h."<br>
> >> Looking there, the version is 3.0.0.<br>
> >> <br>
> >> PETSc's configure --download-chaco gets this one: <a href="http://ftp.mcs.anl.gov/pub/petsc/externalpackages/Chaco-2.2-p2.tar.gz" rel="noreferrer" target="_blank">http://ftp.mcs.anl.gov/pub/<wbr>petsc/externalpackages/Chaco-<wbr>2.2-p2.tar.gz</a> <<a href="http://ftp.mcs.anl.gov/pub/petsc/externalpackages/Chaco-2.2-p2.tar.gz" rel="noreferrer" target="_blank">http://ftp.mcs.anl.gov/pub/<wbr>petsc/externalpackages/Chaco-<wbr>2.2-p2.tar.gz</a>><br>
> >> 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.<br>
> >> The original version is probably this one: <a href="https://www3.cs.stonybrook.edu/~algorith/implement/chaco/distrib/Chaco-2.2.tar.gz" rel="noreferrer" target="_blank">https://www3.cs.stonybrook.<wbr>edu/~algorith/implement/chaco/<wbr>distrib/Chaco-2.2.tar.gz</a> <<a href="https://www3.cs.stonybrook.edu/~algorith/implement/chaco/distrib/Chaco-2.2.tar.gz" rel="noreferrer" target="_blank">https://www3.cs.stonybrook.<wbr>edu/~algorith/implement/chaco/<wbr>distrib/Chaco-2.2.tar.gz</a>><br>
> >> Looking at the contents of the tarball, these sources data back to 2000.<br>
> >> 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.<br>
> >> <br>
> >> The main intent of my tests in src/dm/impls/plex/examples/<wbr>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.<br>
> >> <br>
> >> Vaclav<br>
> >> <br>
> >>> 22. 4. 2018 v 17:56, Satish Balay <<a href="mailto:balay@mcs.anl.gov">balay@mcs.anl.gov</a>>:<br>
> >>> <br>
> >>> On Sun, 22 Apr 2018, Smith, Barry F. wrote:<br>
> >>> <br>
> >>>>> It would be good to figure out exactly where the difference comes form<br>
> >>>>> [wrt chaco from trilinos vs separate install of chaco - or some other<br>
> >>>>> interaction from trilinos]<br>
> >>>> <br>
> >>>>  Different random numbers being generated?<br>
> >>> <br>
> >>> Its trilinos vs non-trilinos build of packages - so I don't think its 'different random number generation' issue.<br>
> >>> <br>
> >>> Trilinos install does:<br>
> >>> <br>
> >>>   if self.libraries.check(self.<wbr>dlib, "interface"):<br>
> >>>     self.addDefine('HAVE_CHACO',1)<br>
> >>>     self.addDefine('HAVE_CHACO_<wbr>INT_ASSIGNMENT',1)<br>
> >>>   if self.libraries.check(self.<wbr>dlib, "ML_Set_PrintLevel"):<br>
> >>>     self.addDefine('HAVE_ML',1)<br>
> >>>   if self.libraries.check(self.<wbr>dlib, "Zoltan_LB_Partition"):<br>
> >>>     self.addDefine('HAVE_ZOLTAN',<wbr>1)<br>
> >>>   if self.libraries.check(self.<wbr>dlib, "ex_close"):<br>
> >>>     self.addDefine('HAVE_EXODUSII'<wbr>,1)<br>
> >>> <br>
> >>> <br>
> >>> For one there is different chaco code in petsc based on this flag<br>
> >>> HAVE_CHACO_INT_ASSIGNMENT. Its not clear to me if this is causing the<br>
> >>> difference.<br>
> >>> <br>
> >>> --download-chaco is using 'Chaco-2.2-p2.tar.gz'. This matches the<br>
> >>> latest chaco tarball from their website [Chaco-2.2.tar.gz]. So I do<br>
> >>> not know if chaco packaged by trilinos has changes that cause this<br>
> >>> difference [clearly it added some change that resulted in us using the<br>
> >>> flag HAVE_CHACO_INT_ASSIGNMENT]<br>
> >>> <br>
> >>> And then there is also exodus.. --download-exodus uses the latest<br>
> >>> snapshot from <a href="https://github.com/gsjaardema/seacas/" rel="noreferrer" target="_blank">https://github.com/gsjaardema/<wbr>seacas/</a><br>
> >>> <br>
> >>> Satish<br>
> >> <br>
> >> <br>
> > <br>
> <br>
> <br>
<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div><div><br></div><div><a href="http://www.caam.rice.edu/~mk51/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div>
</div></div>