Re: [petsc-users] Write binary to matrix

2016-09-25 Thread Florian Lindner
Great! Thanks to you!

Am 23.09.2016 um 17:56 schrieb Hong:
> Florian:
> I pushed a fix in branch hzhang/fix_matview_mpisbaij (off petsc-maint)
> https://bitbucket.org/petsc/petsc/commits/d1654148bc9f02cde4d336bb9518a18cfb35148e
> 
> After it is tested in our regression tests, it will be merged to
> petsc-maint and petsc-master.
> Thanks for reporting it!
> 
> Hong
> 
> On Fri, Sep 23, 2016 at 10:37 AM, Hong  > wrote:
> 
> Florian:
> I can reproduce this error.
> This is a bug in PETSc library. I'll fix it and get back to you soon.
> Hong
> 
> 
> Am 22.09.2016 um 18:34 schrieb Hong:
> > Florian:
> > Would it work if replacing MATSBAIJ to MATAIJ or MATMPISBAIJ?
> 
> MATAIJ works, but is not an option for my actual application.
> 
> MATMPISBAIJ does not work. Not very suprisingly, since afaik
> setting it to MATSBAIJ and executing it on multiple MPI
> ranks actually results in MATMPISBAIJ.
> 
> Best,
> Florian
> 
> 
> >
> > Hong
> >
> > Hey,
> >
> > this code reproduces the error when run with 2 or more ranks.
> >
> > #include 
> > #include 
> >
> > int main(int argc, char *argv[])
> > {
> >   PetscInitialize(&argc, &argv, "", NULL);
> >
> >   Mat matrix;
> >   MatCreate(PETSC_COMM_WORLD, &matrix);
> >   MatSetType(matrix, MATSBAIJ);
> >   MatSetSizes(matrix, 10, 10, PETSC_DETERMINE,
> PETSC_DETERMINE);
> >   MatSetFromOptions(matrix);
> >   MatSetUp(matrix);
> >
> >   MatAssemblyBegin(matrix, MAT_FINAL_ASSEMBLY);
> >   MatAssemblyEnd(matrix, MAT_FINAL_ASSEMBLY);
> >
> >   PetscViewer viewer;
> >   PetscViewerBinaryOpen(PETSC_COMM_WORLD, "test.mat",
> FILE_MODE_WRITE, &viewer);
> >   MatView(matrix, viewer);
> >   PetscViewerDestroy(&viewer);
> >   MatDestroy(&matrix);
> >
> >   PetscFinalize();
> > }
> >
> >
> > The complete output is:
> >
> >
> > lindnefn@neon /data/scratch/lindnefn/aste (git)-[master] %
> mpic++ petsc.cpp -lpetsc &&  mpirun -n 2 ./a.out
> >
> > [0]PETSC ERROR: - Error Message
> --
> > [0]PETSC ERROR: No support for this operation for this
> object type
> > [0]PETSC ERROR: Cannot get subcomm viewer for binary files
> or sockets unless SubViewer contains the rank 0 process
> > [0]PETSC ERROR: See
> http://www.mcs.anl.gov/petsc/documentation/faq.html
> 
> >  > for
> trouble shooting.
> > [0]PETSC ERROR: Petsc Release Version 3.7.3, unknown
> > [0]PETSC ERROR: ./a.out on a arch-linux2-c-debug named
> neon by lindnefn Thu Sep 22 16:10:34 2016
> > [0]PETSC ERROR: Configure options --with-debugging=1
> --download-petsc4py=yes --download-mpi4py=yes
> > --download-superlu_dist --download-parmetis --download-metis
> > [0]PETSC ERROR: #1 PetscViewerGetSubViewer_Binary() line 46 in
> >   
>  
> /data/scratch/lindnefn/software/petsc/src/sys/classes/viewer/impls/binary/binv.c
> > [0]PETSC ERROR: #2 PetscViewerGetSubViewer() line 43 in
> >   
>  
> /data/scratch/lindnefn/software/petsc/src/sys/classes/viewer/interface/dupl.c
> > [0]PETSC ERROR: #3 MatView_MPISBAIJ_ASCIIorDraworSocket()
> line 900 in
> >   
>  
> /data/scratch/lindnefn/software/petsc/src/mat/impls/sbaij/mpi/mpisbaij.c
> > [0]PETSC ERROR: #4 MatView_MPISBAIJ() line 926 in
> >   
>  
> /data/scratch/lindnefn/software/petsc/src/mat/impls/sbaij/mpi/mpisbaij.c
> > [0]PETSC ERROR: #5 MatView() line 901 in
> /data/scratch/lindnefn/software/petsc/src/mat/interface/matrix.c
> > WARNING! There are options you set that were not used!
> > WARNING! could be spelling mistake, etc!
> > Option left: name:-ksp_converged_reason (no value)
> > Option left: name:-ksp_final_residual (no value)
> > Option left: name:-ksp_view (no value)
> > [neon:113111] *** Process received signal ***
> > [neon:113111] Signal: Aborted (6)
> > [neon:113111] Signal code:  (-6)
> > [neon:113111] [ 0]
> /lib/x86_64-linux-gnu/libc.so.6(+0x36cb0) [0x7feed8958cb0]
> > [n

Re: [petsc-users] Write binary to matrix

2016-09-23 Thread Hong
Florian:
I pushed a fix in branch hzhang/fix_matview_mpisbaij (off petsc-maint)
https://bitbucket.org/petsc/petsc/commits/d1654148bc9f02cde4d336bb9518a18cfb35148e

After it is tested in our regression tests, it will be merged to
petsc-maint and petsc-master.
Thanks for reporting it!

Hong

On Fri, Sep 23, 2016 at 10:37 AM, Hong  wrote:

> Florian:
> I can reproduce this error.
> This is a bug in PETSc library. I'll fix it and get back to you soon.
> Hong
>
>
>> Am 22.09.2016 um 18:34 schrieb Hong:
>> > Florian:
>> > Would it work if replacing MATSBAIJ to MATAIJ or MATMPISBAIJ?
>>
>> MATAIJ works, but is not an option for my actual application.
>>
>> MATMPISBAIJ does not work. Not very suprisingly, since afaik setting it
>> to MATSBAIJ and executing it on multiple MPI
>> ranks actually results in MATMPISBAIJ.
>>
>> Best,
>> Florian
>>
>>
>> >
>> > Hong
>> >
>> > Hey,
>> >
>> > this code reproduces the error when run with 2 or more ranks.
>> >
>> > #include 
>> > #include 
>> >
>> > int main(int argc, char *argv[])
>> > {
>> >   PetscInitialize(&argc, &argv, "", NULL);
>> >
>> >   Mat matrix;
>> >   MatCreate(PETSC_COMM_WORLD, &matrix);
>> >   MatSetType(matrix, MATSBAIJ);
>> >   MatSetSizes(matrix, 10, 10, PETSC_DETERMINE, PETSC_DETERMINE);
>> >   MatSetFromOptions(matrix);
>> >   MatSetUp(matrix);
>> >
>> >   MatAssemblyBegin(matrix, MAT_FINAL_ASSEMBLY);
>> >   MatAssemblyEnd(matrix, MAT_FINAL_ASSEMBLY);
>> >
>> >   PetscViewer viewer;
>> >   PetscViewerBinaryOpen(PETSC_COMM_WORLD, "test.mat",
>> FILE_MODE_WRITE, &viewer);
>> >   MatView(matrix, viewer);
>> >   PetscViewerDestroy(&viewer);
>> >   MatDestroy(&matrix);
>> >
>> >   PetscFinalize();
>> > }
>> >
>> >
>> > The complete output is:
>> >
>> >
>> > lindnefn@neon /data/scratch/lindnefn/aste (git)-[master] % mpic++
>> petsc.cpp -lpetsc &&  mpirun -n 2 ./a.out
>> >
>> > [0]PETSC ERROR: - Error Message
>> --
>> > [0]PETSC ERROR: No support for this operation for this object type
>> > [0]PETSC ERROR: Cannot get subcomm viewer for binary files or
>> sockets unless SubViewer contains the rank 0 process
>> > [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/d
>> ocumentation/faq.html
>> >  for trouble
>> shooting.
>> > [0]PETSC ERROR: Petsc Release Version 3.7.3, unknown
>> > [0]PETSC ERROR: ./a.out on a arch-linux2-c-debug named neon by
>> lindnefn Thu Sep 22 16:10:34 2016
>> > [0]PETSC ERROR: Configure options --with-debugging=1
>> --download-petsc4py=yes --download-mpi4py=yes
>> > --download-superlu_dist --download-parmetis --download-metis
>> > [0]PETSC ERROR: #1 PetscViewerGetSubViewer_Binary() line 46 in
>> > /data/scratch/lindnefn/software/petsc/src/sys/classes/
>> viewer/impls/binary/binv.c
>> > [0]PETSC ERROR: #2 PetscViewerGetSubViewer() line 43 in
>> > /data/scratch/lindnefn/software/petsc/src/sys/classes/
>> viewer/interface/dupl.c
>> > [0]PETSC ERROR: #3 MatView_MPISBAIJ_ASCIIorDraworSocket() line 900
>> in
>> > /data/scratch/lindnefn/software/petsc/src/mat/impls/sbaij/
>> mpi/mpisbaij.c
>> > [0]PETSC ERROR: #4 MatView_MPISBAIJ() line 926 in
>> > /data/scratch/lindnefn/software/petsc/src/mat/impls/sbaij/
>> mpi/mpisbaij.c
>> > [0]PETSC ERROR: #5 MatView() line 901 in
>> /data/scratch/lindnefn/software/petsc/src/mat/interface/matrix.c
>> > WARNING! There are options you set that were not used!
>> > WARNING! could be spelling mistake, etc!
>> > Option left: name:-ksp_converged_reason (no value)
>> > Option left: name:-ksp_final_residual (no value)
>> > Option left: name:-ksp_view (no value)
>> > [neon:113111] *** Process received signal ***
>> > [neon:113111] Signal: Aborted (6)
>> > [neon:113111] Signal code:  (-6)
>> > [neon:113111] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x36cb0)
>> [0x7feed8958cb0]
>> > [neon:113111] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x37)
>> [0x7feed8958c37]
>> > [neon:113111] [ 2] /lib/x86_64-linux-gnu/libc.so.6(abort+0x148)
>> [0x7feed895c028]
>> > [neon:113111] [ 3]
>> > /data/scratch/lindnefn/software/petsc/arch-linux2-c-debug/
>> lib/libpetsc.so.3.7(PetscTraceBackErrorHandler+0x563)
>> > [0x7feed8d8db31]
>> > [neon:113111] [ 4] /data/scratch/lindnefn/softwar
>> e/petsc/arch-linux2-c-debug/lib/libpetsc.so.3.7(PetscError+0x374)
>> > [0x7feed8d88750]
>> > [neon:113111] [ 5] /data/scratch/lindnefn/softwar
>> e/petsc/arch-linux2-c-debug/lib/libpetsc.so.3.7(+0x19b2f6)
>> > [0x7feed8e822f6]
>> > [neon:113111] [ 6]
>> > /data/scratch/lindnefn/software/petsc/arch-linux2-c-debug/
>> lib/libpetsc.so.3.7(PetscViewerGetSubViewer+0x4f1)
>> > [0x7feed8e803cb]
>> > [neon:113111] [ 7] /data/scratch/lindnefn/softwar
>> e/petsc/arch-linux2-c-debug/l

Re: [petsc-users] Write binary to matrix

2016-09-23 Thread Hong
Florian:
I can reproduce this error.
This is a bug in PETSc library. I'll fix it and get back to you soon.
Hong

>
> Am 22.09.2016 um 18:34 schrieb Hong:
> > Florian:
> > Would it work if replacing MATSBAIJ to MATAIJ or MATMPISBAIJ?
>
> MATAIJ works, but is not an option for my actual application.
>
> MATMPISBAIJ does not work. Not very suprisingly, since afaik setting it to
> MATSBAIJ and executing it on multiple MPI
> ranks actually results in MATMPISBAIJ.
>
> Best,
> Florian
>
>
> >
> > Hong
> >
> > Hey,
> >
> > this code reproduces the error when run with 2 or more ranks.
> >
> > #include 
> > #include 
> >
> > int main(int argc, char *argv[])
> > {
> >   PetscInitialize(&argc, &argv, "", NULL);
> >
> >   Mat matrix;
> >   MatCreate(PETSC_COMM_WORLD, &matrix);
> >   MatSetType(matrix, MATSBAIJ);
> >   MatSetSizes(matrix, 10, 10, PETSC_DETERMINE, PETSC_DETERMINE);
> >   MatSetFromOptions(matrix);
> >   MatSetUp(matrix);
> >
> >   MatAssemblyBegin(matrix, MAT_FINAL_ASSEMBLY);
> >   MatAssemblyEnd(matrix, MAT_FINAL_ASSEMBLY);
> >
> >   PetscViewer viewer;
> >   PetscViewerBinaryOpen(PETSC_COMM_WORLD, "test.mat",
> FILE_MODE_WRITE, &viewer);
> >   MatView(matrix, viewer);
> >   PetscViewerDestroy(&viewer);
> >   MatDestroy(&matrix);
> >
> >   PetscFinalize();
> > }
> >
> >
> > The complete output is:
> >
> >
> > lindnefn@neon /data/scratch/lindnefn/aste (git)-[master] % mpic++
> petsc.cpp -lpetsc &&  mpirun -n 2 ./a.out
> >
> > [0]PETSC ERROR: - Error Message
> --
> > [0]PETSC ERROR: No support for this operation for this object type
> > [0]PETSC ERROR: Cannot get subcomm viewer for binary files or
> sockets unless SubViewer contains the rank 0 process
> > [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/
> documentation/faq.html
> >  for trouble
> shooting.
> > [0]PETSC ERROR: Petsc Release Version 3.7.3, unknown
> > [0]PETSC ERROR: ./a.out on a arch-linux2-c-debug named neon by
> lindnefn Thu Sep 22 16:10:34 2016
> > [0]PETSC ERROR: Configure options --with-debugging=1
> --download-petsc4py=yes --download-mpi4py=yes
> > --download-superlu_dist --download-parmetis --download-metis
> > [0]PETSC ERROR: #1 PetscViewerGetSubViewer_Binary() line 46 in
> > /data/scratch/lindnefn/software/petsc/src/sys/
> classes/viewer/impls/binary/binv.c
> > [0]PETSC ERROR: #2 PetscViewerGetSubViewer() line 43 in
> > /data/scratch/lindnefn/software/petsc/src/sys/
> classes/viewer/interface/dupl.c
> > [0]PETSC ERROR: #3 MatView_MPISBAIJ_ASCIIorDraworSocket() line 900
> in
> > /data/scratch/lindnefn/software/petsc/src/mat/impls/
> sbaij/mpi/mpisbaij.c
> > [0]PETSC ERROR: #4 MatView_MPISBAIJ() line 926 in
> > /data/scratch/lindnefn/software/petsc/src/mat/impls/
> sbaij/mpi/mpisbaij.c
> > [0]PETSC ERROR: #5 MatView() line 901 in /data/scratch/lindnefn/
> software/petsc/src/mat/interface/matrix.c
> > WARNING! There are options you set that were not used!
> > WARNING! could be spelling mistake, etc!
> > Option left: name:-ksp_converged_reason (no value)
> > Option left: name:-ksp_final_residual (no value)
> > Option left: name:-ksp_view (no value)
> > [neon:113111] *** Process received signal ***
> > [neon:113111] Signal: Aborted (6)
> > [neon:113111] Signal code:  (-6)
> > [neon:113111] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x36cb0)
> [0x7feed8958cb0]
> > [neon:113111] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x37)
> [0x7feed8958c37]
> > [neon:113111] [ 2] /lib/x86_64-linux-gnu/libc.so.6(abort+0x148)
> [0x7feed895c028]
> > [neon:113111] [ 3]
> > /data/scratch/lindnefn/software/petsc/arch-linux2-c-
> debug/lib/libpetsc.so.3.7(PetscTraceBackErrorHandler+0x563)
> > [0x7feed8d8db31]
> > [neon:113111] [ 4] /data/scratch/lindnefn/
> software/petsc/arch-linux2-c-debug/lib/libpetsc.so.3.7(PetscError+0x374)
> > [0x7feed8d88750]
> > [neon:113111] [ 5] /data/scratch/lindnefn/
> software/petsc/arch-linux2-c-debug/lib/libpetsc.so.3.7(+0x19b2f6)
> > [0x7feed8e822f6]
> > [neon:113111] [ 6]
> > /data/scratch/lindnefn/software/petsc/arch-linux2-c-
> debug/lib/libpetsc.so.3.7(PetscViewerGetSubViewer+0x4f1)
> > [0x7feed8e803cb]
> > [neon:113111] [ 7] /data/scratch/lindnefn/
> software/petsc/arch-linux2-c-debug/lib/libpetsc.so.3.7(+0x860c95)
> > [0x7feed9547c95]
> > [neon:113111] [ 8] /data/scratch/lindnefn/
> software/petsc/arch-linux2-c-debug/lib/libpetsc.so.3.7(+0x861494)
> > [0x7feed9548494]
> > [neon:113111] [ 9] /data/scratch/lindnefn/
> software/petsc/arch-linux2-c-debug/lib/libpetsc.so.3.7(MatView+0x12b6)
> > [0x7feed971c08f]
> > [neon:113111] [10] ./a.out() [0x400b8b]
> > [neon:113111] [11] 
> > /lib/x86_64-linux-gnu/libc.so.6(__

Re: [petsc-users] Write binary to matrix

2016-09-23 Thread Florian Lindner

Am 22.09.2016 um 18:34 schrieb Hong:
> Florian:
> Would it work if replacing MATSBAIJ to MATAIJ or MATMPISBAIJ?

MATAIJ works, but is not an option for my actual application.

MATMPISBAIJ does not work. Not very suprisingly, since afaik setting it to 
MATSBAIJ and executing it on multiple MPI
ranks actually results in MATMPISBAIJ.

Best,
Florian


> 
> Hong
> 
> Hey,
> 
> this code reproduces the error when run with 2 or more ranks.
> 
> #include 
> #include 
> 
> int main(int argc, char *argv[])
> {
>   PetscInitialize(&argc, &argv, "", NULL);
> 
>   Mat matrix;
>   MatCreate(PETSC_COMM_WORLD, &matrix);
>   MatSetType(matrix, MATSBAIJ);
>   MatSetSizes(matrix, 10, 10, PETSC_DETERMINE, PETSC_DETERMINE);
>   MatSetFromOptions(matrix);
>   MatSetUp(matrix);
> 
>   MatAssemblyBegin(matrix, MAT_FINAL_ASSEMBLY);
>   MatAssemblyEnd(matrix, MAT_FINAL_ASSEMBLY);
> 
>   PetscViewer viewer;
>   PetscViewerBinaryOpen(PETSC_COMM_WORLD, "test.mat", FILE_MODE_WRITE, 
> &viewer);
>   MatView(matrix, viewer);
>   PetscViewerDestroy(&viewer);
>   MatDestroy(&matrix);
> 
>   PetscFinalize();
> }
> 
> 
> The complete output is:
> 
> 
> lindnefn@neon /data/scratch/lindnefn/aste (git)-[master] % mpic++ 
> petsc.cpp -lpetsc &&  mpirun -n 2 ./a.out
> 
> [0]PETSC ERROR: - Error Message 
> --
> [0]PETSC ERROR: No support for this operation for this object type
> [0]PETSC ERROR: Cannot get subcomm viewer for binary files or sockets 
> unless SubViewer contains the rank 0 process
> [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html
>  for trouble 
> shooting.
> [0]PETSC ERROR: Petsc Release Version 3.7.3, unknown
> [0]PETSC ERROR: ./a.out on a arch-linux2-c-debug named neon by lindnefn 
> Thu Sep 22 16:10:34 2016
> [0]PETSC ERROR: Configure options --with-debugging=1 
> --download-petsc4py=yes --download-mpi4py=yes
> --download-superlu_dist --download-parmetis --download-metis
> [0]PETSC ERROR: #1 PetscViewerGetSubViewer_Binary() line 46 in
> 
> /data/scratch/lindnefn/software/petsc/src/sys/classes/viewer/impls/binary/binv.c
> [0]PETSC ERROR: #2 PetscViewerGetSubViewer() line 43 in
> 
> /data/scratch/lindnefn/software/petsc/src/sys/classes/viewer/interface/dupl.c
> [0]PETSC ERROR: #3 MatView_MPISBAIJ_ASCIIorDraworSocket() line 900 in
> /data/scratch/lindnefn/software/petsc/src/mat/impls/sbaij/mpi/mpisbaij.c
> [0]PETSC ERROR: #4 MatView_MPISBAIJ() line 926 in
> /data/scratch/lindnefn/software/petsc/src/mat/impls/sbaij/mpi/mpisbaij.c
> [0]PETSC ERROR: #5 MatView() line 901 in 
> /data/scratch/lindnefn/software/petsc/src/mat/interface/matrix.c
> WARNING! There are options you set that were not used!
> WARNING! could be spelling mistake, etc!
> Option left: name:-ksp_converged_reason (no value)
> Option left: name:-ksp_final_residual (no value)
> Option left: name:-ksp_view (no value)
> [neon:113111] *** Process received signal ***
> [neon:113111] Signal: Aborted (6)
> [neon:113111] Signal code:  (-6)
> [neon:113111] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x36cb0) 
> [0x7feed8958cb0]
> [neon:113111] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x37) 
> [0x7feed8958c37]
> [neon:113111] [ 2] /lib/x86_64-linux-gnu/libc.so.6(abort+0x148) 
> [0x7feed895c028]
> [neon:113111] [ 3]
> 
> /data/scratch/lindnefn/software/petsc/arch-linux2-c-debug/lib/libpetsc.so.3.7(PetscTraceBackErrorHandler+0x563)
> [0x7feed8d8db31]
> [neon:113111] [ 4] 
> /data/scratch/lindnefn/software/petsc/arch-linux2-c-debug/lib/libpetsc.so.3.7(PetscError+0x374)
> [0x7feed8d88750]
> [neon:113111] [ 5] 
> /data/scratch/lindnefn/software/petsc/arch-linux2-c-debug/lib/libpetsc.so.3.7(+0x19b2f6)
> [0x7feed8e822f6]
> [neon:113111] [ 6]
> 
> /data/scratch/lindnefn/software/petsc/arch-linux2-c-debug/lib/libpetsc.so.3.7(PetscViewerGetSubViewer+0x4f1)
> [0x7feed8e803cb]
> [neon:113111] [ 7] 
> /data/scratch/lindnefn/software/petsc/arch-linux2-c-debug/lib/libpetsc.so.3.7(+0x860c95)
> [0x7feed9547c95]
> [neon:113111] [ 8] 
> /data/scratch/lindnefn/software/petsc/arch-linux2-c-debug/lib/libpetsc.so.3.7(+0x861494)
> [0x7feed9548494]
> [neon:113111] [ 9] 
> /data/scratch/lindnefn/software/petsc/arch-linux2-c-debug/lib/libpetsc.so.3.7(MatView+0x12b6)
> [0x7feed971c08f]
> [neon:113111] [10] ./a.out() [0x400b8b]
> [neon:113111] [11] 
> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7feed8943f45]
> [neon:113111] [12] ./a.out() [0x4009e9]
> [neon:113111] *** End of error message ***
> --
> mpirun noticed that process rank 1 with PID 113111 on node neon exited on 
>

Re: [petsc-users] Write binary to matrix

2016-09-22 Thread Hong
Florian:
Would it work if replacing MATSBAIJ to MATAIJ or MATMPISBAIJ?

Hong

Hey,
>
> this code reproduces the error when run with 2 or more ranks.
>
> #include 
> #include 
>
> int main(int argc, char *argv[])
> {
>   PetscInitialize(&argc, &argv, "", NULL);
>
>   Mat matrix;
>   MatCreate(PETSC_COMM_WORLD, &matrix);
>   MatSetType(matrix, MATSBAIJ);
>   MatSetSizes(matrix, 10, 10, PETSC_DETERMINE, PETSC_DETERMINE);
>   MatSetFromOptions(matrix);
>   MatSetUp(matrix);
>
>   MatAssemblyBegin(matrix, MAT_FINAL_ASSEMBLY);
>   MatAssemblyEnd(matrix, MAT_FINAL_ASSEMBLY);
>
>   PetscViewer viewer;
>   PetscViewerBinaryOpen(PETSC_COMM_WORLD, "test.mat", FILE_MODE_WRITE,
> &viewer);
>   MatView(matrix, viewer);
>   PetscViewerDestroy(&viewer);
>   MatDestroy(&matrix);
>
>   PetscFinalize();
> }
>
>
> The complete output is:
>
>
> lindnefn@neon /data/scratch/lindnefn/aste (git)-[master] % mpic++
> petsc.cpp -lpetsc &&  mpirun -n 2 ./a.out
>
> [0]PETSC ERROR: - Error Message
> --
> [0]PETSC ERROR: No support for this operation for this object type
> [0]PETSC ERROR: Cannot get subcomm viewer for binary files or sockets
> unless SubViewer contains the rank 0 process
> [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html
> for trouble shooting.
> [0]PETSC ERROR: Petsc Release Version 3.7.3, unknown
> [0]PETSC ERROR: ./a.out on a arch-linux2-c-debug named neon by lindnefn
> Thu Sep 22 16:10:34 2016
> [0]PETSC ERROR: Configure options --with-debugging=1
> --download-petsc4py=yes --download-mpi4py=yes
> --download-superlu_dist --download-parmetis --download-metis
> [0]PETSC ERROR: #1 PetscViewerGetSubViewer_Binary() line 46 in
> /data/scratch/lindnefn/software/petsc/src/sys/classes/viewer/impls/binary/
> binv.c
> [0]PETSC ERROR: #2 PetscViewerGetSubViewer() line 43 in
> /data/scratch/lindnefn/software/petsc/src/sys/
> classes/viewer/interface/dupl.c
> [0]PETSC ERROR: #3 MatView_MPISBAIJ_ASCIIorDraworSocket() line 900 in
> /data/scratch/lindnefn/software/petsc/src/mat/impls/sbaij/mpi/mpisbaij.c
> [0]PETSC ERROR: #4 MatView_MPISBAIJ() line 926 in /data/scratch/lindnefn/
> software/petsc/src/mat/impls/sbaij/mpi/mpisbaij.c
> [0]PETSC ERROR: #5 MatView() line 901 in /data/scratch/lindnefn/
> software/petsc/src/mat/interface/matrix.c
> WARNING! There are options you set that were not used!
> WARNING! could be spelling mistake, etc!
> Option left: name:-ksp_converged_reason (no value)
> Option left: name:-ksp_final_residual (no value)
> Option left: name:-ksp_view (no value)
> [neon:113111] *** Process received signal ***
> [neon:113111] Signal: Aborted (6)
> [neon:113111] Signal code:  (-6)
> [neon:113111] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x36cb0)
> [0x7feed8958cb0]
> [neon:113111] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x37)
> [0x7feed8958c37]
> [neon:113111] [ 2] /lib/x86_64-linux-gnu/libc.so.6(abort+0x148)
> [0x7feed895c028]
> [neon:113111] [ 3]
> /data/scratch/lindnefn/software/petsc/arch-linux2-c-
> debug/lib/libpetsc.so.3.7(PetscTraceBackErrorHandler+0x563)
> [0x7feed8d8db31]
> [neon:113111] [ 4] /data/scratch/lindnefn/software/petsc/arch-linux2-c-
> debug/lib/libpetsc.so.3.7(PetscError+0x374)
> [0x7feed8d88750]
> [neon:113111] [ 5] /data/scratch/lindnefn/software/petsc/arch-linux2-c-
> debug/lib/libpetsc.so.3.7(+0x19b2f6) [0x7feed8e822f6]
> [neon:113111] [ 6]
> /data/scratch/lindnefn/software/petsc/arch-linux2-c-
> debug/lib/libpetsc.so.3.7(PetscViewerGetSubViewer+0x4f1)
> [0x7feed8e803cb]
> [neon:113111] [ 7] /data/scratch/lindnefn/software/petsc/arch-linux2-c-
> debug/lib/libpetsc.so.3.7(+0x860c95) [0x7feed9547c95]
> [neon:113111] [ 8] /data/scratch/lindnefn/software/petsc/arch-linux2-c-
> debug/lib/libpetsc.so.3.7(+0x861494) [0x7feed9548494]
> [neon:113111] [ 9] /data/scratch/lindnefn/software/petsc/arch-linux2-c-
> debug/lib/libpetsc.so.3.7(MatView+0x12b6)
> [0x7feed971c08f]
> [neon:113111] [10] ./a.out() [0x400b8b]
> [neon:113111] [11] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)
> [0x7feed8943f45]
> [neon:113111] [12] ./a.out() [0x4009e9]
> [neon:113111] *** End of error message ***
> --
> mpirun noticed that process rank 1 with PID 113111 on node neon exited on
> signal 6 (Aborted).
> --
>
> Thanks,
> Florian
>
>
>
> Am 22.09.2016 um 13:32 schrieb Matthew Knepley:
> > On Thu, Sep 22, 2016 at 5:42 AM, Florian Lindner  > wrote:
> >
> > Hello,
> >
> > I want to write a MATSBAIJ to a file in binary, so that I can load
> it later using MatLoad.
> >
> > However, I keep getting the error:
> >
> > [5]PETSC ERROR: No support for this operation for this object type!
> > [5]PETSC ERROR: Cannot get subcomm viewer for binary files or
> sockets unless SubViewer contains the rank 0 process
> > [6]PETSC ERROR: PetscV

Re: [petsc-users] Write binary to matrix

2016-09-22 Thread Florian Lindner
Hey,

this code reproduces the error when run with 2 or more ranks.

#include 
#include 

int main(int argc, char *argv[])
{
  PetscInitialize(&argc, &argv, "", NULL);

  Mat matrix;
  MatCreate(PETSC_COMM_WORLD, &matrix);
  MatSetType(matrix, MATSBAIJ);
  MatSetSizes(matrix, 10, 10, PETSC_DETERMINE, PETSC_DETERMINE);
  MatSetFromOptions(matrix);
  MatSetUp(matrix);

  MatAssemblyBegin(matrix, MAT_FINAL_ASSEMBLY);
  MatAssemblyEnd(matrix, MAT_FINAL_ASSEMBLY);

  PetscViewer viewer;
  PetscViewerBinaryOpen(PETSC_COMM_WORLD, "test.mat", FILE_MODE_WRITE, &viewer);
  MatView(matrix, viewer);
  PetscViewerDestroy(&viewer);
  MatDestroy(&matrix);

  PetscFinalize();
}


The complete output is:


lindnefn@neon /data/scratch/lindnefn/aste (git)-[master] % mpic++ petsc.cpp 
-lpetsc &&  mpirun -n 2 ./a.out

[0]PETSC ERROR: - Error Message 
--
[0]PETSC ERROR: No support for this operation for this object type
[0]PETSC ERROR: Cannot get subcomm viewer for binary files or sockets unless 
SubViewer contains the rank 0 process
[0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html for 
trouble shooting.
[0]PETSC ERROR: Petsc Release Version 3.7.3, unknown
[0]PETSC ERROR: ./a.out on a arch-linux2-c-debug named neon by lindnefn Thu Sep 
22 16:10:34 2016
[0]PETSC ERROR: Configure options --with-debugging=1 --download-petsc4py=yes 
--download-mpi4py=yes
--download-superlu_dist --download-parmetis --download-metis
[0]PETSC ERROR: #1 PetscViewerGetSubViewer_Binary() line 46 in
/data/scratch/lindnefn/software/petsc/src/sys/classes/viewer/impls/binary/binv.c
[0]PETSC ERROR: #2 PetscViewerGetSubViewer() line 43 in
/data/scratch/lindnefn/software/petsc/src/sys/classes/viewer/interface/dupl.c
[0]PETSC ERROR: #3 MatView_MPISBAIJ_ASCIIorDraworSocket() line 900 in
/data/scratch/lindnefn/software/petsc/src/mat/impls/sbaij/mpi/mpisbaij.c
[0]PETSC ERROR: #4 MatView_MPISBAIJ() line 926 in 
/data/scratch/lindnefn/software/petsc/src/mat/impls/sbaij/mpi/mpisbaij.c
[0]PETSC ERROR: #5 MatView() line 901 in 
/data/scratch/lindnefn/software/petsc/src/mat/interface/matrix.c
WARNING! There are options you set that were not used!
WARNING! could be spelling mistake, etc!
Option left: name:-ksp_converged_reason (no value)
Option left: name:-ksp_final_residual (no value)
Option left: name:-ksp_view (no value)
[neon:113111] *** Process received signal ***
[neon:113111] Signal: Aborted (6)
[neon:113111] Signal code:  (-6)
[neon:113111] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x36cb0) [0x7feed8958cb0]
[neon:113111] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x37) 
[0x7feed8958c37]
[neon:113111] [ 2] /lib/x86_64-linux-gnu/libc.so.6(abort+0x148) [0x7feed895c028]
[neon:113111] [ 3]
/data/scratch/lindnefn/software/petsc/arch-linux2-c-debug/lib/libpetsc.so.3.7(PetscTraceBackErrorHandler+0x563)
[0x7feed8d8db31]
[neon:113111] [ 4] 
/data/scratch/lindnefn/software/petsc/arch-linux2-c-debug/lib/libpetsc.so.3.7(PetscError+0x374)
[0x7feed8d88750]
[neon:113111] [ 5] 
/data/scratch/lindnefn/software/petsc/arch-linux2-c-debug/lib/libpetsc.so.3.7(+0x19b2f6)
 [0x7feed8e822f6]
[neon:113111] [ 6]
/data/scratch/lindnefn/software/petsc/arch-linux2-c-debug/lib/libpetsc.so.3.7(PetscViewerGetSubViewer+0x4f1)
[0x7feed8e803cb]
[neon:113111] [ 7] 
/data/scratch/lindnefn/software/petsc/arch-linux2-c-debug/lib/libpetsc.so.3.7(+0x860c95)
 [0x7feed9547c95]
[neon:113111] [ 8] 
/data/scratch/lindnefn/software/petsc/arch-linux2-c-debug/lib/libpetsc.so.3.7(+0x861494)
 [0x7feed9548494]
[neon:113111] [ 9] 
/data/scratch/lindnefn/software/petsc/arch-linux2-c-debug/lib/libpetsc.so.3.7(MatView+0x12b6)
[0x7feed971c08f]
[neon:113111] [10] ./a.out() [0x400b8b]
[neon:113111] [11] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) 
[0x7feed8943f45]
[neon:113111] [12] ./a.out() [0x4009e9]
[neon:113111] *** End of error message ***
--
mpirun noticed that process rank 1 with PID 113111 on node neon exited on 
signal 6 (Aborted).
--

Thanks,
Florian



Am 22.09.2016 um 13:32 schrieb Matthew Knepley:
> On Thu, Sep 22, 2016 at 5:42 AM, Florian Lindner  > wrote:
> 
> Hello,
> 
> I want to write a MATSBAIJ to a file in binary, so that I can load it 
> later using MatLoad.
> 
> However, I keep getting the error:
> 
> [5]PETSC ERROR: No support for this operation for this object type!
> [5]PETSC ERROR: Cannot get subcomm viewer for binary files or sockets 
> unless SubViewer contains the rank 0 process
> [6]PETSC ERROR: PetscViewerGetSubViewer_Binary() line 46 in
> 
> /data/scratch/lindnefn/software/petsc/src/sys/classes/viewer/impls/binary/binv.c
> 
> 
> Do not truncate the stack.
> 
> Run under valgrind.
> 
>   Thanks,
> 
>  Matt
>  
> 
> The rank 0 is included, as you can see below, I use PETSC_COMM_

Re: [petsc-users] Write binary to matrix

2016-09-22 Thread Florian Lindner
Am 22.09.2016 um 12:53 schrieb Dave May:
> 
> 
> On Thursday, 22 September 2016, Florian Lindner  > wrote:
> 
> Hello,
> 
> I want to write a MATSBAIJ to a file in binary, so that I can load it 
> later using MatLoad.
> 
> However, I keep getting the error:
> 
> [5]PETSC ERROR: No support for this operation for this object type!
> [5]PETSC ERROR: Cannot get subcomm viewer for binary files or sockets 
> unless SubViewer contains the rank 0 process
> [6]PETSC ERROR: PetscViewerGetSubViewer_Binary() line 46 in
> 
> /data/scratch/lindnefn/software/petsc/src/sys/classes/viewer/impls/binary/binv.c
> 
> The rank 0 is included, as you can see below, I use PETSC_COMM_WORLD and 
> the matrix is also created like that.
> 
> The code looks like:
> 
> PetscErrorCode ierr = 0;
> PetscViewer viewer;
> PetscViewerBinaryOpen(PETSC_COMM_WORLD, filename.c_str(), 
> FILE_MODE_WRITE, &viewer); CHKERRV(ierr);
> MatView(matrix, viewer); CHKERRV(ierr);
> PetscViewerDestroy(&viewer);
> 
> 
> The code snippet looks weird.
> 
> The error could be related to your usage of the error checking macros, Eg the 
> fact you set ierr to zero rather than
> assigning it to the return value of your petsc function calls.
> 
> You should  do
> ierr = petscfunc();CHQERRQ(ierr);
> 
> And why do you use CHQERRV and not CHKERRQ?

Hey,

sorry, I copied that code from different locations and edited it, incompletely.

Unfortunatly I was unable to reproduce the problem with a small snippet, see my 
other (coming) mail in this thread.

Best,
Florian


Re: [petsc-users] Write binary to matrix

2016-09-22 Thread Matthew Knepley
On Thu, Sep 22, 2016 at 5:42 AM, Florian Lindner 
wrote:

> Hello,
>
> I want to write a MATSBAIJ to a file in binary, so that I can load it
> later using MatLoad.
>
> However, I keep getting the error:
>
> [5]PETSC ERROR: No support for this operation for this object type!
> [5]PETSC ERROR: Cannot get subcomm viewer for binary files or sockets
> unless SubViewer contains the rank 0 process
> [6]PETSC ERROR: PetscViewerGetSubViewer_Binary() line 46 in
> /data/scratch/lindnefn/software/petsc/src/sys/classes/viewer/impls/binary/
> binv.c
>

Do not truncate the stack.

Run under valgrind.

  Thanks,

 Matt


> The rank 0 is included, as you can see below, I use PETSC_COMM_WORLD and
> the matrix is also created like that.
>
> The code looks like:
>
> PetscErrorCode ierr = 0;
> PetscViewer viewer;
> PetscViewerBinaryOpen(PETSC_COMM_WORLD, filename.c_str(),
> FILE_MODE_WRITE, &viewer); CHKERRV(ierr);
> MatView(matrix, viewer); CHKERRV(ierr);
> PetscViewerDestroy(&viewer);
>
> Thanks,
> Florian
>



-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener


[petsc-users] Write binary to matrix

2016-09-22 Thread Dave May
On Thursday, 22 September 2016, Florian Lindner > wrote:

> Hello,
>
> I want to write a MATSBAIJ to a file in binary, so that I can load it
> later using MatLoad.
>
> However, I keep getting the error:
>
> [5]PETSC ERROR: No support for this operation for this object type!
> [5]PETSC ERROR: Cannot get subcomm viewer for binary files or sockets
> unless SubViewer contains the rank 0 process
> [6]PETSC ERROR: PetscViewerGetSubViewer_Binary() line 46 in
> /data/scratch/lindnefn/software/petsc/src/sys/classes/
> viewer/impls/binary/binv.c
>
> The rank 0 is included, as you can see below, I use PETSC_COMM_WORLD and
> the matrix is also created like that.
>
> The code looks like:
>
> PetscErrorCode ierr = 0;
> PetscViewer viewer;
> PetscViewerBinaryOpen(PETSC_COMM_WORLD, filename.c_str(),
> FILE_MODE_WRITE, &viewer); CHKERRV(ierr);
> MatView(matrix, viewer); CHKERRV(ierr);
> PetscViewerDestroy(&viewer);


The code snippet looks weird.

The error could be related to your usage of the error checking macros, Eg
the fact you set ierr to zero rather than assigning it to the return value
of your petsc function calls.

You should  do
ierr = petscfunc();CHQERRQ(ierr);

And why do you use CHQERRV and not CHKERRQ?

Thanks
  Dave



>
> Thanks,
> Florian
>


[petsc-users] Write binary to matrix

2016-09-22 Thread Florian Lindner
Hello,

I want to write a MATSBAIJ to a file in binary, so that I can load it later 
using MatLoad.

However, I keep getting the error:

[5]PETSC ERROR: No support for this operation for this object type!
[5]PETSC ERROR: Cannot get subcomm viewer for binary files or sockets unless 
SubViewer contains the rank 0 process
[6]PETSC ERROR: PetscViewerGetSubViewer_Binary() line 46 in
/data/scratch/lindnefn/software/petsc/src/sys/classes/viewer/impls/binary/binv.c

The rank 0 is included, as you can see below, I use PETSC_COMM_WORLD and the 
matrix is also created like that.

The code looks like:

PetscErrorCode ierr = 0;
PetscViewer viewer;
PetscViewerBinaryOpen(PETSC_COMM_WORLD, filename.c_str(), FILE_MODE_WRITE, 
&viewer); CHKERRV(ierr);
MatView(matrix, viewer); CHKERRV(ierr);
PetscViewerDestroy(&viewer);

Thanks,
Florian