want to make some changes to PCASM

Lisandro Dalcin dalcinl at gmail.com
Thu Nov 20 15:59:34 CST 2008


I would like to make some changes and enhancements in PCASM:

1) Make it take full ownership (allocated array memory and IS
references) of the subdomain index sets.

2) Currently, if the matrix is symmetric, ASM switches to type
PC_ASM_BASIC in PCSetFromOptions_ASM().
I believe this should also be handled on PCSetup_ASM(). If not, we get
different behavior if PCSetFromOptions() is never called.
Moreover, I believe PCSetFromOptions_ASM() should call PCASMSetType()
if the '-pc_asm_type' option is passed.

3) If more than one block per processor is requested, then ASM
currently does a row-based partitioning. For unstructured problems and
LU-based local solves, this is going to be really bad, right?

I've already implemented an 'smart' subdomain partitioner based on
MatPartitioningXXX. I'm thinking about adding a new utility routine
(in the spirit of PCASMCreateSubdomains2d)

PCASMCreateSubdomains(Mat A, MatPartitioningType mptype, PetscInt
local_blocks, IS *is[])

which could be called in order to get a good subdomain partitioning,
and next pass it to PCASMSetLocalSubdomains().


Does all this make sense?



-- 
Lisandro Dalcín
---------------
Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC)
Instituto de Desarrollo Tecnológico para la Industria Química (INTEC)
Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
PTLC - Güemes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594




More information about the petsc-dev mailing list