want to make some changes to PCASM

Barry Smith bsmith at mcs.anl.gov
Thu Nov 20 16:35:44 CST 2008


On Nov 20, 2008, at 3:59 PM, Lisandro Dalcin wrote:

> 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.

    Good
>
>
> 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.

   Yes, with the !osm->type_set check.

   I think the need for the osm->type_set flag is YUCKY but don't have  
any
cleaner way of 1) NOT overwriting the user when they want something else
when the matrix is symmetric and 2) defaulting to symmetric when the  
matrix
is symmetric.



>
> Moreover, I believe PCSetFromOptions_ASM() should call PCASMSetType()
> if the '-pc_asm_type' option is passed.

  Yes, I was lazy.
>
>
> 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?

    It will be whatever, which may be bad yes.
>
>
> 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().
>

    Fine. It would be nice if this was automatically called if  using  
multiple
subdomains per process and not providing the IS explicitly; BUT it would
have to run even if the user has not installed any partitioning  
packages,
you'd have to manage that somehow.

Thanks

    Barry


>
> 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