[petsc-dev] -vec_assembly_bts vs -matstash_bts ?

Smith, Barry F. bsmith at mcs.anl.gov
Thu Feb 1 13:56:46 CST 2018


    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?



More information about the petsc-dev mailing list