On Thu, 25 Oct 2007, Tim Stitt wrote:
> OK...that is useful thanks. > > If you don't mind just one more question...I notice that the > MatLUFactorSymbolic() routine now executes with one processor but complains > when I run > 2 processors. The actual error message is: > > [1]PETSC ERROR: No support for this operation for this object type! > [1]PETSC ERROR: Matrix type mpiaij symbolic LU! > > Is this because the default LU factorisation routine isn't parallel... Yes > I just > assumed parallel superlu would be picked up automatically (it is compiled into > my PETSc build) ? No, in the current model you have to set the matrix type to MATSUPERLU_DIST to get it. Or MATAIJMUMPS for mumps etc. Hong has suggested an alternative (better?) model, but ..... Barry > > Tim. > > Barry Smith wrote: > > I have added this information to the error message that gets printed. > > > > Barry > > > > > > On Thu, 25 Oct 2007, Matthew Knepley wrote: > > > > > > > I think you need to tell use that the IS is a permutation: > > > > > > http://www-unix.mcs.anl.gov/petsc/petsc-as/snapshots/petsc-current/docs/manualpages/IS/ISSetPermutation.html > > > > > > Matt > > > > > > On 10/25/07, Tim Stitt <timothy.stitt at ichec.ie> wrote: > > > > > > > Hi all, > > > > > > > > Following on from some help I got a few days ago with respect to > > > > MatLUFactorSymbolic() usage in Fortran...I think I now have all the > > > > parts in place but keep getting the following runtime error upon > > > > execution: > > > > > > > > [0]PETSC ERROR: --------------------- Error Message > > > > ------------------------------------ > > > > [0]PETSC ERROR: Invalid argument! > > > > [0]PETSC ERROR: not a permutation! > > > > ... > > > > [0]PETSC ERROR: > > > > ------------------------------------------------------------------------ > > > > [0]PETSC ERROR: ISInvertPermutation() line 183 in > > > > src/vec/is/interface/index.c > > > > [0]PETSC ERROR: MatLUFactorSymbolic_SeqAIJ() line 276 in > > > > src/mat/impls/aij/seq/aijfact.c > > > > [0]PETSC ERROR: MatLUFactorSymbolic() line 2178 in > > > > src/mat/interface/matrix.c > > > > [localhost.localdomain:24730] MPI_ABORT invoked on rank 0 in > > > > communicator MPI_COMM_WORLD with errorcode 62 > > > > > > > > Here is the portion of the offending code (I think): > > > > > > > > call MatAssemblyBegin(A,MAT_FINAL_ASSEMBLY,error);CHKERRQ(error) > > > > call MatAssemblyEnd(A,MAT_FINAL_ASSEMBLY,error);CHKERRQ(error) > > > > call ISCreateGeneral(PETSC_COMM_WORLD,order,columnIndices, > > > > indexSet,error);CHKERRQ(error) > > > > call MatFactorInfoInitialize(info,error);CHKERRQ(error) > > > > call > > > > MatLUFactorSymbolic(A,indexSet,indexSet,info,factorMat,error);CHKERRQ(error) > > > > > > > > order - number of rows/columns in square matrix A > > > > columnIndices - 1D array containing values 0-->order-1 > > > > > > > > All types are set correctly as far as I can tell. > > > > > > > > Can anyone suggest why the execution falls over during the > > > > MatLUFactorSymbolic() call? > > > > > > > > Thanks again, > > > > > > > > Tim. > > > > > > > > -- > > > > Dr. Timothy Stitt <timothy_dot_stitt_at_ichec.ie> > > > > HPC Application Consultant - ICHEC (www.ichec.ie) > > > > > > > > Dublin Institute for Advanced Studies > > > > 5 Merrion Square - Dublin 2 - Ireland > > > > > > > > +353-1-6621333 (tel) / +353-1-6621477 (fax) > > > > > > > > > > > > > > > > > > > > > > > > >
