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


Reply via email to