[petsc-dev] C++11, compatibility versus simplicity

Jack Poulson poulson at stanford.edu
Fri Oct 4 12:42:41 CDT 2013


On 10/04/2013 07:39 AM, Tim Tautges wrote:
> 
> On 10/03/2013 05:41 PM, Jed Brown wrote:
>>
>> Looks like the mailing list had just switched away from google groups
>> and wasn't yet being archived, but here's Jack's original message:
>>
> 
> That's useful to see, and clearly Jack you didn't make the decision
> lightly (au contraire, looks like even preserving compatibility would
> have involved more effort than normal; decisions like that are always
> difficult...)
> 

I'm a little late in responding, but, no, the decision was not made lightly.

I respect Matt and Karl's (as well as several other colleagues')
objections, but I ultimately decided that pushing the library forward by
experimenting with simplified programming models was more important than
supporting half-decade old compilers.

It seems a bit odd to me for someone to simultaenously insist upon a
bleeding-edge release of a parallel linear algebra library and a grossly
outdated compiler, and I decided not to subvert the growth of a library
just for this usecase.

I hate to cause unnecessary complications for PETSc, but surely C++11
support has to happen at some point. My apologies for forcing this
sooner rather than later.

The recently committed distributed blocked Bunch-Kaufman implementation
is much simpler because of the combination of 'auto' and move semantics.
As far as I am aware, PETSc did not previously support the accurate
parallel factorization of symmetric/Hermitian indefinite matrices, and
so this is a significant contribution to the library.

Jack



More information about the petsc-dev mailing list