On Thu, 22 Oct 2015, Barry Smith wrote:

> 
> > On Oct 22, 2015, at 7:28 PM, Satish Balay <ba...@mcs.anl.gov> wrote:
> > 
> > The current infrastruture tests --download-petsc4py in petsc 'next'
> > and 'master' branches.
> > 
> > Wrt next - usually a change in a feature branch (when it gets merged
> > to next) triggers this breakage.  And usual thing to do is to fix it
> > in the feature branch (and merge to next again)
> > 
> > Wrt to petsc4py - this would mean updating petsc4py.py [in petsc] with
> > the petsc4py repo gitcommit [optionally also tarball ] that
> > corresponds to the fix. [one way to handle this on petsc4py repo is to
> > create a feature branch for this fix]
> 
>   Yeah this is nuts, having to maintaining matching branches between petsc 
> and petsc4py and merge them at the same time into next and then master. 
> Clearly no one will ever do this and hence petsc4py will always be out of 
> step from PETSc. I do really believe that incorporating petsc4py into PETSc 
> would just make all these difficulties go away. For example maintaining Tao 
> is a breeze now since it is updated in the same branches as PETSc.
> 

Perhaps I should rephrase the issue in the following way:

We should decide on what level petsc4py and petsc should be synced.
[and the testsuite should be modified appropriately for that]

Currently its done at next, master branchs. For this to work - the
above - previously mentioned workflow is required. [and for this
workflow - a single repo does makes thing easier]

We could say sync should happen only between petsc4py-master &
petsc-master. [so issues - if any in feature branches/next wont't be
dealt with - and its ok for the master branches to be out of sync for
a brief time for the fix to propergate].

For this - we would have a different workflow [wrt syncing petsc4py
wrt petsc - and a slightly different test suite - testing only
master. [We could continue having the curent test suite - but ignore
errors in next].  And e-mails to Lisandro will trigger only on
petsc4py errors on master.  Lisandro would then fix petsc4py (master)
- and then update petsc4py.py in petsc-master.

Or perhaps some other mode is preferable..

Satish

>   Barry
> 
> > 
> > When this (petsc) feature branch is merged into master - the
> > corresponding feature branch on the petsc4py side can be merged into
> > petsc4py master [if petsc4py-master is to be in sync with
> > petsc-master].
> > 
> > [if there are multiple feature branches on the petsc side requiring
> > corresponding petsc4py changes - somehow that has to be handled]
> > 
> > Perhaps testing petsc4py via petsc infrastructure [using
> > --download-petsc4py] is not the appropriate approach?
> > 
> > Or we should do this only on master - not next?  [or just have a
> > single --download-petsc4py test - thats not mixed with other tests? -
> > so its breakage is not critical for other things]
> > 
> > Also we don't currently run any petsc4py tests. [we just test if it
> > compiles or not]
> > 
> > Satish
> > 
> > On Thu, 22 Oct 2015, Barry Smith wrote:
> > 
> >> 
> >>  Lisandro,
> >> 
> >>   It is tested nightly but there is apparently currently no email sent on 
> >> failure. See the bottom of, for example, 
> >> http://ftp.mcs.anl.gov/pub/petsc/nightlylogs/archive/2015/10/22/make_next_arch-linux-pkgs-opt_crank.log
> >> 
> >>   I think what should happen is the petsc4py log file should be published 
> >> to the web (like the other log files) and a script look through it and 
> >> decide to send email if it detects a problem. Like we currently have for 
> >> the other log files. Someone has to dig into the nightly test 
> >> infrastructure to figure out where the new logic needs to go. Currently 
> >> Satish and Karl understand that infrastructure the best.
> >> 
> >>  Barry
> >> 
> >> 
> >> 
> >> 
> >> 
> >>> On Oct 22, 2015, at 6:44 PM, Lisandro Dalcin <dalc...@gmail.com> wrote:
> >>> 
> >>> On 22 October 2015 at 23:20, Barry Smith <bsm...@mcs.anl.gov> wrote:
> >>>> 
> >>>>  Lisandro,
> >>>> 
> >>>>   You never responded to this. I assume it was because you did not like 
> >>>> the idea? This is not an attempt to take control of petsc4py or to take 
> >>>> credit away from petsc4py from you. Petsc4py is your package and you 
> >>>> will always be the one who deserves the credit.
> >>>> 
> >>> 
> >>> Oh, sorry! I missed this email.
> >>> 
> >>> 
> >>>>   The problem is that mutual efficient development of very intertwined 
> >>>> packages is difficult if they are in different respositories. For 
> >>>> example petsc4py has been out of date with petsc master for many weeks 
> >>>> now because it is too much effort to update the petsc4py repository each 
> >>>> time we make some change in PETSc. Thus it becomes a burden on you to go 
> >>>> in every once in a while and fix up petsc4py. With one repository 
> >>>> changes would happen in both PETSc source and petsc4py source at the 
> >>>> same time and tests would detect problems immediately.
> >>>> 
> >>>>  Thoughts?
> >>>> 
> >>> 
> >>> I general terms, I prefer to keep things separate as much a possible.
> >>> IMHO, a much important step would be to incorporate petsc4py to the
> >>> nightly tests, clearly separating the petsc and petsc4py tests runs. I
> >>> would love to get an email every time petsc4py nightly breaks, this
> >>> way I would be able to push fixes within a day or two, say.
> >>> Maintaining petsc4py requires knowledge of PETSc+Python+Cython, so
> >>> ultimately I'm the one in best position to do such work, if you guys
> >>> start adding commits to petsc4py withing the main petsc repo, I'm
> >>> likely going to miss these changes. For example, today Michael Lange
> >>> made some changes, I got an email from Bitbucket, then did a review
> >>> and spotted a few issues.
> >>> 
> >>> My hesitation to incorporate petsc4py within petsc repo is, in
> >>> Python's [and linear algebra :-)] Zen : "Sparse is better than dense".
> >>> If we continue adding stuff to core PETSc, at same point we will endup
> >>> like Trilinos ( DON'T MISS the sencond entry in the FAQ:
> >>> https://trilinos.org/download/public-git-repository/).
> >>> 
> >>> All that being said, I don't have any problem at all adding petsc4py
> >>> to the main PETSc repository. But I still think this is not a good
> >>> idea, it will not solve all the problems. Nightly tests with automatic
> >>> notifications to me about breakages is perhaps is all what we need to
> >>> keep petsc4py in close sync with petsc/master. What about trying this
> >>> first to see how it goes?
> >>> 
> >>> 
> >>> PS: Please understand my position has nothing to do with credits about
> >>> the project or ego-related crap. Actually, your proposal would mean
> >>> less responsibility and maintenance work for me. But I don't think it
> >>> is a move in the right direction.
> >>> 
> >>> 
> >>> -- 
> >>> Lisandro Dalcin
> >>> ============
> >>> Research Scientist
> >>> Computer, Electrical and Mathematical Sciences & Engineering (CEMSE)
> >>> Numerical Porous Media Center (NumPor)
> >>> King Abdullah University of Science and Technology (KAUST)
> >>> http://numpor.kaust.edu.sa/
> >>> 
> >>> 4700 King Abdullah University of Science and Technology
> >>> al-Khawarizmi Bldg (Bldg 1), Office # 4332
> >>> Thuwal 23955-6900, Kingdom of Saudi Arabia
> >>> http://www.kaust.edu.sa
> >>> 
> >>> Office Phone: +966 12 808-0459
> >> 
> >> 
> > 
> 
> 

Reply via email to