Jed,
From the user perspective these achieve the same thing for vectors and
matrices, right? So shouldn't the user level API have the same name for both of
them? i.e. -mat_assembly_bts and -vec_assembly_bts?
$ git grep matstash_bts
src/mat/utils/matstash.c: ierr =
PetscOptionsGetBool(NULL,NULL,"-matstash_bts",&flg,NULL);CHKERRQ(ierr);
~/Src/petsc (master=) arch-exodusii
$ git grep vecstash_bts
~/Src/petsc (master=) arch-exodusii
$ git grep vec_assembly_bts
src/vec/vec/examples/tests/ex11.c: args: -vec_assembly_bts
src/vec/vec/examples/tests/ex29.c: args: -n 126 -vec_assembly_bts
src/vec/vec/examples/tests/ex29.c: args: -n 126 -vec_assembly_bts -repeat 2
src/vec/vec/examples/tests/ex29.c: args: -n 126 -vec_assembly_bts -repeat
2 -subset
src/vec/vec/examples/tests/ex29.c: args: -n 126 -vec_assembly_bts -repeat
5 -subset
src/vec/vec/impls/mpi/pbvec.c: ierr =
PetscOptionsBool("-vec_assembly_bts","Use BuildTwoSided version of
assembly","",flg,&flg,&set);CHKERRQ(ierr);
Also shouldn't there be a functional interface Vec/MatAssemblySetBTS() ?
Also, is BTS a useful name from the user point of view? BuildTwoSided? What
does a user get from this? Any possibly better names?
Does a VecDuplicate() convey the same stashing approaching to the new vector
create? Doesn't look that way, shouldn't it?
Thanks
Barry