[petsc-dev] including PETSc4py (and Tao4py) inside PETSc repository

Lisandro Dalcin dalcinl at gmail.com
Thu Oct 22 18:44:49 CDT 2015


On 22 October 2015 at 23:20, Barry Smith <bsmith at 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



More information about the petsc-dev mailing list