[petsc-dev] meaning of VecScale() if not a collective

Barry Smith bsmith at mcs.anl.gov
Mon Jul 5 23:38:40 CDT 2010


  I consider that VecScale() has to be considered a collective that requires all processors to pass the same value for the scalar in the same way that VecAXPY() is a collective operation that requires the same value for alpha. The reason is that though you can pass in different values on different processes or not call it on some processes it has no well defined mathematical meaning in that case since there result depends on the vector layout across processors. In fact I'd like to put a error check that does a global collective and make sure that the value pass in on all processes is the same in debug mode.

   Barry




More information about the petsc-dev mailing list