[petsc-dev] -vec_assembly_bts vs -matstash_bts ?

Jed Brown jed at jedbrown.org
Thu Feb 1 21:25:57 CST 2018

>From a user perspective, yes.  I had intended this to become the default
and thus chose developer-oriented names.  I recall there was some issue
preventing that, but can't remember whether it was MPI-related or an
implementation bug.  If we can make it default, then the options can
reverse (e.g., -vec_assembly_legacy -mat_assembly_legacy).

Note that we have -matstash_initial_size and -matstash_reproduce.  (It
also looks like -matstash_block_initial_size is documented but does not

"Smith, Barry F." <bsmith at mcs.anl.gov> writes:

>   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

More information about the petsc-dev mailing list