[petsc-dev] [Fortran] MatLoad() error: MatLoad is not supported for type: mpiaij!

Barry Smith bsmith at mcs.anl.gov
Wed Sep 1 10:14:08 CDT 2010


  Well it may be related in some loose sense. But not particularly.  Even though this matrix lives on one process it is stored as an MPIAIJ which has not check for symmetry.

  In general for sparse matrices it is best never to check if the matrix is symmetric.

   Barry

On Sep 1, 2010, at 10:56 AM, Leo van Kampenhout wrote:

> 
> Barry, do you think this is related? I want to check if the same matrix A is symmetric (on a single-core run) with the method MatIsSymmetric and it gives me the following error:
> 
> [0]PETSC ERROR: --------------------- Error Message ------------------------------------
> [0]PETSC ERROR: No support for this operation for this object type!
> [0]PETSC ERROR: Matrix of type <mpiaij> does not support checking for symmetric!
> [0]PETSC ERROR: ------------------------------------------------------------------------
> [0]PETSC ERROR: Petsc Development HG revision: f455c9a70d2481389bc32b93c86e379cadcf41e1  HG Date: Wed Sep 01 09:04:54 2010 -0400
> [0]PETSC ERROR: See docs/changes/index.html for recent updates.
> [0]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
> [0]PETSC ERROR: See docs/index.html for manual pages.
> [0]PETSC ERROR: ------------------------------------------------------------------------
> [0]PETSC ERROR: ./main on a arch-linu named wingtip72 by csg4035 Wed Sep  1 16:54:47 2010
> [0]PETSC ERROR: Libraries linked from /net/users/csg/csg4035/install/petsc-dev/arch-linux-gnu-c-debug/lib
> [0]PETSC ERROR: Configure run at Wed Sep  1 16:36:01 2010
> [0]PETSC ERROR: Configure options 
> [0]PETSC ERROR: ------------------------------------------------------------------------
> [0]PETSC ERROR: MatIsSymmetric() line 7214 in src/mat/interface/matrix.c
> 
> 
> 
> 
> 
> 2010/9/1 Barry Smith <bsmith at mcs.anl.gov>
>   if (size > 1) { 
>     /* change viewer to display matrix in natural ordering */
>     ierr = MatShellSetOperation(A, MATOP_VIEW, (void (*)(void)) MatView_MPI_DA);CHKERRQ(ierr);
>     /* turn off loading of matrix because loading would require proper permutation I don't feel like writing now */
>     ierr = MatShellSetOperation(A, MATOP_LOAD, (void (*)(void)) 0);CHKERRQ(ierr);
>   }
> 
> 
>   Shri,
> 
>     Could you please add the support for this? And push to petsc-dev
> 
>     Thanks
> 
>      Barry
> 
> 
> On Sep 1, 2010, at 10:23 AM, Leo van Kampenhout wrote:
> 
>> 
>> Using a DA, of equal size and type as the other one. The curious thing is that there are no problems on a single core run. (but that is not what I want ;)
>> 
>> 
>> 
>> 2010/9/1 Barry Smith <bsmith at mcs.anl.gov>
>> 
>>    Did you get the matrix in the writer code using a DA or some other code that puts the vector from the 2d or 3d problem in the natural ordering on the binary file.
>> 
>>    Barry
>> 
>> On Sep 1, 2010, at 9:55 AM, Leo van Kampenhout wrote:
>> 
>>> Hi all, 
>>> 
>>> I'm having trouble with MatLoad on Petsc-Dev. Not sure if this problem also exists in the main PETSc 3.1 since my code won't compile on that. 
>>> The problematic calls are as follows: 
>>> 
>>>       call PetscViewerBinaryOpen(PETSC_COMM_WORLD,file2,
>>>      &     FILE_MODE_READ,fd,ierr)
>>>       call DAGetMatrix(da,MATMPIAIJ,A,ierr)
>>>       call MatLoad(A,fd,ierr)
>>> 
>>> which supposedly will load a matrix A which is stored by the following commands:
>>> 
>>>       call PetscViewerBinaryOpen(PETSC_COMM_WORLD,file2,
>>>      &     FILE_MODE_WRITE,fd,ierr)
>>>       call MatView(A,fd,ierr)
>>> 
>>> by another program (on a single core). The MatLoad() does work perfectly on a single core, however two or more cores make the program crash with the following error (see below)
>>> The programcall is 
>>>  mpirun -n 2 ./main
>>> 
>>> Is something broken with Petsc or do I need to set some extra parameters? 
>>> Thanks in advance, 
>>> 
>>> Leo van Kampenhout
>>> 
>>> PS. I'm using a build from last friday, since when I updated petsc-dev today using Mercurial I couldnt get it to configure or compile :S (which is another subject)
>>> 
>>> 
>>> [0]PETSC ERROR: --------------------- Error Message ------------------------------------
>>> [0]PETSC ERROR: No support for this operation for this object type!
>>> [0]PETSC ERROR: MatLoad is not supported for type: mpiaij!
>>> [0]PETSC ERROR: ------------------------------------------------------------------------
>>> [0]PETSC ERROR: Petsc Development HG revision: 84fec3ca75412473b06251029b58f2a68f1334f3  HG Date: Fri Aug 27 07:06:08 2010 +0200
>>> [0]PETSC ERROR: See docs/changes/index.html for recent updates.
>>> [0]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
>>> [0]PETSC ERROR: See docs/index.html for manual pages.
>>> [0]PETSC ERROR: ------------------------------------------------------------------------
>>> [0]PETSC ERROR: ./main on a arch-linu named wingtip72 by csg4035 Wed Sep  1 15:52:11 2010
>>> [0]PETSC ERROR: Libraries linked from /net/users/csg/csg4035/install/petsc-dev/arch-linux-gnu-c-debug/lib
>>> [0]PETSC ERROR: Configure run at Fri Aug 27 08:37:32 2010
>>> [0]PETSC ERROR: Configure options 
>>> [0]PETSC ERROR: ------------------------------------------------------------------------
>>> [0]PETSC ERROR: MatLoad() line 843 in src/mat/interface/matrix.c
>>> 
>>> 
>> 
>> 
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20100901/0c05bf6c/attachment.html>


More information about the petsc-dev mailing list