[petsc-users] 回复: Can not understand why convert matrix type from MPIAIJ to MATIS failed.

459543524 459543524 at qq.com
Fri Apr 15 02:43:49 CDT 2022


Sir, I already dump the matrix into binary file and attached in the mail, and please have a look.
Thanks for your time.


The follow code can be used to reproduce problem.
---------------------------------------------------------------
std::string path = "......";
PetscViewer viewer;
PetscViewerBinaryOpen(comm, path.c_str(), FILE_MODE_READ, &viewer);
Mat A;
MatCreate(comm,&A);
MatSetType(A,MATMPIAIJ);
MatLoad(A,viewer);
PetscViewerDestroy(&viewer);

MatView(A, PETSC_VIEWER_STDOUT_(MPI_COMM_WORLD));
Mat J;
MatConvert(A, MATIS, MAT_INITIAL_MATRIX, &J);

---------------------------------------------------------------
The result shown as follows:
---------------------------------------------------------------
Mat Object: 4 MPI processes
  type: mpiaij
row 0: (0, 168.75)  (1, 0.)  (2, 0.)  (3, 0.)  (4, 0.)  (5, 0.)  (6, 0.)  (7, 0.) 
row 1: (0, 0.)  (1, 168.75)  (2, 0.)  (3, 0.)  (4, 0.)  (5, 0.)  (6, 0.)  (7, 0.) 
row 2: (0, 0.)  (1, 0.)  (2, 168.75)  (3, 0.)  (6, 0.)  (7, 0.)  (8, 0.)  (9, 0.)  (12, 0.)  (13, 0.) 
row 3: (0, 0.)  (1, 0.)  (2, 0.)  (3, 168.75)  (6, 0.)  (7, 0.)  (8, 0.)  (9, 0.)  (12, 0.)  (13, 0.) 
row 4: (0, 0.)  (1, 0.)  (4, 150.)  (5, -25.)  (6, -100.)  (7, 25.)  (16, -25.)  (17, 25.)  (18, 0.)  (19, -25.) 
row 5: (0, 0.)  (1, 0.)  (4, -25.)  (5, 150.)  (6, 25.)  (7, -50.)  (16, 0.)  (17, -50.)  (18, -25.)  (19, 0.) 
row 6: (0, 0.)  (1, 0.)  (2, 0.)  (3, 0.)  (4, -100.)  (5, 25.)  (6, 300.)  (7, -50.)  (12, -100.)  (13, 25.)  (18, -50.)  (19, 25.)  (24, 0.)  (25, -25.) 
row 7: (0, 0.)  (1, 0.)  (2, 0.)  (3, 0.)  (4, 25.)  (5, -50.)  (6, -50.)  (7, 300.)  (12, 25.)  (13, -50.)  (18, 25.)  (19, -100.)  (24, -25.)  (25, 0.) 
row 8: (2, 0.)  (3, 0.)  (8, 150.)  (9, 0.)  (10, 0.)  (11, 0.)  (12, 0.)  (13, 0.)  (14, 0.)  (15, 0.) 
row 9: (2, 0.)  (3, 0.)  (8, 0.)  (9, 150.)  (10, 0.)  (11, 0.)  (12, 0.)  (13, 0.)  (14, 0.)  (15, 0.) 
row 10: (8, 0.)  (9, 0.)  (10, 150.)  (11, 0.)  (14, 0.)  (15, 0.) 
row 11: (8, 0.)  (9, 0.)  (10, 0.)  (11, 150.)  (14, 0.)  (15, 0.) 
row 12: (2, 0.)  (3, 0.)  (6, -100.)  (7, 25.)  (8, 0.)  (9, 0.)  (12, 300.)  (13, -50.)  (14, -100.)  (15, 25.)  (24, -50.)  (25, 25.)  (26, 0.)  (27, -25.) 
row 13: (2, 0.)  (3, 0.)  (6, 25.)  (7, -50.)  (8, 0.)  (9, 0.)  (12, -50.)  (13, 300.)  (14, 25.)  (15, -50.)  (24, 25.)  (25, -100.)  (26, -25.)  (27, 0.) 
row 14: (8, 0.)  (9, 0.)  (10, 0.)  (11, 0.)  (12, -100.)  (13, 25.)  (14, 150.)  (15, -25.)  (26, -25.)  (27, 0.) 
row 15: (8, 0.)  (9, 0.)  (10, 0.)  (11, 0.)  (12, 25.)  (13, -50.)  (14, -25.)  (15, 150.)  (26, 25.)  (27, -50.) 
row 16: (4, -25.)  (5, 0.)  (16, 150.)  (17, -25.)  (18, -100.)  (19, 25.)  (20, -25.)  (21, 25.)  (22, 0.)  (23, -25.) 
row 17: (4, 25.)  (5, -50.)  (16, -25.)  (17, 150.)  (18, 25.)  (19, -50.)  (20, 0.)  (21, -50.)  (22, -25.)  (23, 0.) 
row 18: (4, 0.)  (5, -25.)  (6, -50.)  (7, 25.)  (16, -100.)  (17, 25.)  (18, 300.)  (19, -50.)  (22, -50.)  (23, 25.)  (24, -100.)  (25, 25.)  (28, 0.)  (29, -25.) 
row 19: (4, -25.)  (5, 0.)  (6, 25.)  (7, -100.)  (16, 25.)  (17, -50.)  (18, -50.)  (19, 300.)  (22, 25.)  (23, -100.)  (24, 25.)  (25, -50.)  (28, -25.)  (29, 0.) 
row 20: (16, -25.)  (17, 0.)  (20, 75.)  (21, -25.)  (22, -50.)  (23, 25.) 
row 21: (16, 25.)  (17, -50.)  (20, -25.)  (21, 75.)  (22, 0.)  (23, -25.) 
row 22: (16, 0.)  (17, -25.)  (18, -50.)  (19, 25.)  (20, -50.)  (21, 0.)  (22, 150.)  (23, -25.)  (28, -50.)  (29, 25.) 
row 23: (16, -25.)  (17, 0.)  (18, 25.)  (19, -100.)  (20, 25.)  (21, -25.)  (22, -25.)  (23, 150.)  (28, 0.)  (29, -25.) 
row 24: (6, 0.)  (7, -25.)  (12, -50.)  (13, 25.)  (18, -100.)  (19, 25.)  (24, 300.)  (25, -50.)  (26, -100.)  (27, 25.)  (28, -50.)  (29, 25.)  (30, 0.)  (31, -25.) 
row 25: (6, -25.)  (7, 0.)  (12, 25.)  (13, -100.)  (18, 25.)  (19, -50.)  (24, -50.)  (25, 300.)  (26, 25.)  (27, -50.)  (28, 25.)  (29, -100.)  (30, -25.)  (31, 0.) 
row 26: (12, 0.)  (13, -25.)  (14, -25.)  (15, 25.)  (24, -100.)  (25, 25.)  (26, 150.)  (27, -25.)  (30, -25.)  (31, 0.) 
row 27: (12, -25.)  (13, 0.)  (14, 0.)  (15, -50.)  (24, 25.)  (25, -50.)  (26, -25.)  (27, 150.)  (30, 25.)  (31, -50.) 
row 28: (18, 0.)  (19, -25.)  (22, -50.)  (23, 0.)  (24, -50.)  (25, 25.)  (28, 150.)  (29, -25.)  (30, -50.)  (31, 25.) 
row 29: (18, -25.)  (19, 0.)  (22, 25.)  (23, -25.)  (24, 25.)  (25, -100.)  (28, -25.)  (29, 150.)  (30, 0.)  (31, -25.) 
row 30: (24, 0.)  (25, -25.)  (26, -25.)  (27, 25.)  (28, -50.)  (29, 0.)  (30, 75.)  (31, 0.) 
row 31: (24, -25.)  (25, 0.)  (26, 0.)  (27, -50.)  (28, 25.)  (29, -25.)  (30, 0.)  (31, 75.) 
[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------
[0]PETSC ERROR: Argument out of range
[0]PETSC ERROR: Scatter indices in ix are out of range
[0]PETSC ERROR: See https://petsc.org/release/faq/ for trouble shooting.
[0]PETSC ERROR: Petsc Release Version 3.15.4, Sep 01, 2021 
[0]PETSC ERROR: Unknown Name on a  named xuhui-Office by xuhui Fri Apr 15 15:40:00 2022
[0]PETSC ERROR: Configure options --prefix=/opt/petsc/debug_int64 --download-mumps --download-scalapack --download-superlu_dist --download-parmetis --download-metis --with-64-bit-indices=1
[0]PETSC ERROR: #1 VecScatterCreate() at /home/xuhui/Temp/petsc-3.15.4/src/vec/is/sf/interface/vscat.c:767
[0]PETSC ERROR: #2 MatISSetUpScatters_Private() at /home/xuhui/Temp/petsc-3.15.4/src/mat/impls/is/matis.c:2403
[0]PETSC ERROR: #3 MatSetLocalToGlobalMapping_IS() at /home/xuhui/Temp/petsc-3.15.4/src/mat/impls/is/matis.c:2501
[0]PETSC ERROR: #4 MatSetLocalToGlobalMapping() at /home/xuhui/Temp/petsc-3.15.4/src/mat/interface/matrix.c:2093
[0]PETSC ERROR: #5 MatConvert_XAIJ_IS() at /home/xuhui/Temp/petsc-3.15.4/src/mat/impls/is/matis.c:651
[0]PETSC ERROR: #6 MatConvert() at /home/xuhui/Temp/petsc-3.15.4/src/mat/interface/matrix.c:4439
^C[mpiexec at xuhui-Office] Sending Ctrl-C to processes as requested



---------------------------------------------------------------

徐辉,Xu Hui
清华大学航天航空学院博士研究生
PhD Candidate, School of Aerospace Engineering
Tsinghua University
Tel: 188-1152-7137
Mail:459543524 at qq.com




 

 




------------------ 原始邮件 ------------------
发件人:                                                                                                                        "Junchao Zhang"                                                                                    <junchao.zhang at gmail.com>;
发送时间: 2022年4月15日(星期五) 上午6:31
收件人: "459543524"<459543524 at qq.com>;
抄送: "petsc-users"<petsc-users at mcs.anl.gov>;
主题: Re: [petsc-users] Can not understand why convert matrix type from MPIAIJ to MATIS failed.



Since you already have the test matrix, could you add "-mat_view binary" to dump the matrix and send us the binaryoutput.* files for reproduce?

--Junchao Zhang





On Thu, Apr 14, 2022 at 10:09 AM 459543524 via petsc-users <petsc-users at mcs.anl.gov> wrote:

Sir, I can not understand why my convert from MPIAIJ to MATIS failed.


I already have a matrix A, create by follow commands
---------------------------------------------------------------------
Mat A;
MatCreateAIJ(...)
MatSetValues(...)
MatAssemblyBegin(A, MAT_FINAL_ASSEMBLY);
MatAssemblyEnd(A, MAT_FINAL_ASSEMBLY);

---------------------------------------------------------------------
I want convert the matrix A to MATIS type for future BDDC operation, as advised by ex 72.
---------------------------------------------------------------------
Mat J;
MatConvert(A, MATIS, MAT_INITIAL_MATRIX, &J);
---------------------------------------------------------------------


The command failed with the stacktrace
[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------
[0]PETSC ERROR: Argument out of range
[0]PETSC ERROR: Scatter indices in ix are out of range
[0]PETSC ERROR: See https://petsc.org/release/faq/ for trouble shooting.
[0]PETSC ERROR: Petsc Release Version 3.15.4, Sep 01, 2021 
[0]PETSC ERROR: Unknown Name on a  named xuhui-Office by xuhui Thu Apr 14 23:06:08 2022
[0]PETSC ERROR: Configure options --prefix=/opt/petsc/debug_int64 --download-mumps --download-scalapack --download-superlu_dist --download-parmetis --download-metis --with-64-bit-indices=1
[0]PETSC ERROR: #1 VecScatterCreate() at /home/xuhui/Temp/petsc-3.15.4/src/vec/is/sf/interface/vscat.c:767
[0]PETSC ERROR: #2 MatISSetUpScatters_Private() at /home/xuhui/Temp/petsc-3.15.4/src/mat/impls/is/matis.c:2403
[0]PETSC ERROR: #3 MatSetLocalToGlobalMapping_IS() at /home/xuhui/Temp/petsc-3.15.4/src/mat/impls/is/matis.c:2501
[0]PETSC ERROR: #4 MatSetLocalToGlobalMapping() at /home/xuhui/Temp/petsc-3.15.4/src/mat/interface/matrix.c:2093
[0]PETSC ERROR: #5 MatConvert_XAIJ_IS() at /home/xuhui/Temp/petsc-3.15.4/src/mat/impls/is/matis.c:651
[0]PETSC ERROR: #6 MatConvert() at /home/xuhui/Temp/petsc-3.15.4/src/mat/interface/matrix.c:4439
^C[mpiexec at xuhui-Office] Sending Ctrl-C to processes as requested





I have no idea why this happen. Thanks for your time.




Further information:
The matrix A is distributed on 4 processes.
We can view the matrix as follows:


Mat Object: 4 MPI processes
  type: mpiaij
row 0: (0, 168.75)  (1, 0.)  (2, 0.)  (3, 0.)  (4, 0.)  (5, 0.)  (6, 0.)  (7, 0.) 
row 1: (0, 0.)  (1, 168.75)  (2, 0.)  (3, 0.)  (4, 0.)  (5, 0.)  (6, 0.)  (7, 0.) 
row 2: (0, 0.)  (1, 0.)  (2, 168.75)  (3, 0.)  (6, 0.)  (7, 0.)  (8, 0.)  (9, 0.)  (12, 0.)  (13, 0.) 
row 3: (0, 0.)  (1, 0.)  (2, 0.)  (3, 168.75)  (6, 0.)  (7, 0.)  (8, 0.)  (9, 0.)  (12, 0.)  (13, 0.) 
row 4: (0, 0.)  (1, 0.)  (4, 150.)  (5, -25.)  (6, -100.)  (7, 25.)  (16, -25.)  (17, 25.)  (18, 0.)  (19, -25.) 
row 5: (0, 0.)  (1, 0.)  (4, -25.)  (5, 150.)  (6, 25.)  (7, -50.)  (16, 0.)  (17, -50.)  (18, -25.)  (19, 0.) 
row 6: (0, 0.)  (1, 0.)  (2, 0.)  (3, 0.)  (4, -100.)  (5, 25.)  (6, 300.)  (7, -50.)  (12, -100.)  (13, 25.)  (18, -50.)  (19, 25.)  (24, 0.)  (25, -25.) 
row 7: (0, 0.)  (1, 0.)  (2, 0.)  (3, 0.)  (4, 25.)  (5, -50.)  (6, -50.)  (7, 300.)  (12, 25.)  (13, -50.)  (18, 25.)  (19, -100.)  (24, -25.)  (25, 0.) 
row 8: (2, 0.)  (3, 0.)  (8, 150.)  (9, 0.)  (10, 0.)  (11, 0.)  (12, 0.)  (13, 0.)  (14, 0.)  (15, 0.) 
row 9: (2, 0.)  (3, 0.)  (8, 0.)  (9, 150.)  (10, 0.)  (11, 0.)  (12, 0.)  (13, 0.)  (14, 0.)  (15, 0.) 
row 10: (8, 0.)  (9, 0.)  (10, 150.)  (11, 0.)  (14, 0.)  (15, 0.) 
row 11: (8, 0.)  (9, 0.)  (10, 0.)  (11, 150.)  (14, 0.)  (15, 0.) 
row 12: (2, 0.)  (3, 0.)  (6, -100.)  (7, 25.)  (8, 0.)  (9, 0.)  (12, 300.)  (13, -50.)  (14, -100.)  (15, 25.)  (24, -50.)  (25, 25.)  (26, 0.)  (27, -25.) 
row 13: (2, 0.)  (3, 0.)  (6, 25.)  (7, -50.)  (8, 0.)  (9, 0.)  (12, -50.)  (13, 300.)  (14, 25.)  (15, -50.)  (24, 25.)  (25, -100.)  (26, -25.)  (27, 0.) 
row 14: (8, 0.)  (9, 0.)  (10, 0.)  (11, 0.)  (12, -100.)  (13, 25.)  (14, 150.)  (15, -25.)  (26, -25.)  (27, 0.) 
row 15: (8, 0.)  (9, 0.)  (10, 0.)  (11, 0.)  (12, 25.)  (13, -50.)  (14, -25.)  (15, 150.)  (26, 25.)  (27, -50.) 
row 16: (4, -25.)  (5, 0.)  (16, 150.)  (17, -25.)  (18, -100.)  (19, 25.)  (20, -25.)  (21, 25.)  (22, 0.)  (23, -25.) 
row 17: (4, 25.)  (5, -50.)  (16, -25.)  (17, 150.)  (18, 25.)  (19, -50.)  (20, 0.)  (21, -50.)  (22, -25.)  (23, 0.) 
row 18: (4, 0.)  (5, -25.)  (6, -50.)  (7, 25.)  (16, -100.)  (17, 25.)  (18, 300.)  (19, -50.)  (22, -50.)  (23, 25.)  (24, -100.)  (25, 25.)  (28, 0.)  (29, -25.) 
row 19: (4, -25.)  (5, 0.)  (6, 25.)  (7, -100.)  (16, 25.)  (17, -50.)  (18, -50.)  (19, 300.)  (22, 25.)  (23, -100.)  (24, 25.)  (25, -50.)  (28, -25.)  (29, 0.) 
row 20: (16, -25.)  (17, 0.)  (20, 75.)  (21, -25.)  (22, -50.)  (23, 25.) 
row 21: (16, 25.)  (17, -50.)  (20, -25.)  (21, 75.)  (22, 0.)  (23, -25.) 
row 22: (16, 0.)  (17, -25.)  (18, -50.)  (19, 25.)  (20, -50.)  (21, 0.)  (22, 150.)  (23, -25.)  (28, -50.)  (29, 25.) 
row 23: (16, -25.)  (17, 0.)  (18, 25.)  (19, -100.)  (20, 25.)  (21, -25.)  (22, -25.)  (23, 150.)  (28, 0.)  (29, -25.) 
row 24: (6, 0.)  (7, -25.)  (12, -50.)  (13, 25.)  (18, -100.)  (19, 25.)  (24, 300.)  (25, -50.)  (26, -100.)  (27, 25.)  (28, -50.)  (29, 25.)  (30, 0.)  (31, -25.) 
row 25: (6, -25.)  (7, 0.)  (12, 25.)  (13, -100.)  (18, 25.)  (19, -50.)  (24, -50.)  (25, 300.)  (26, 25.)  (27, -50.)  (28, 25.)  (29, -100.)  (30, -25.)  (31, 0.) 
row 26: (12, 0.)  (13, -25.)  (14, -25.)  (15, 25.)  (24, -100.)  (25, 25.)  (26, 150.)  (27, -25.)  (30, -25.)  (31, 0.) 
row 27: (12, -25.)  (13, 0.)  (14, 0.)  (15, -50.)  (24, 25.)  (25, -50.)  (26, -25.)  (27, 150.)  (30, 25.)  (31, -50.) 
row 28: (18, 0.)  (19, -25.)  (22, -50.)  (23, 0.)  (24, -50.)  (25, 25.)  (28, 150.)  (29, -25.)  (30, -50.)  (31, 25.) 
row 29: (18, -25.)  (19, 0.)  (22, 25.)  (23, -25.)  (24, 25.)  (25, -100.)  (28, -25.)  (29, 150.)  (30, 0.)  (31, -25.) 
row 30: (24, 0.)  (25, -25.)  (26, -25.)  (27, 25.)  (28, -50.)  (29, 0.)  (30, 75.)  (31, 0.) 
row 31: (24, -25.)  (25, 0.)  (26, 0.)  (27, -50.)  (28, 25.)  (29, -25.)  (30, 0.)  (31, 75.) 






徐辉,Xu Hui
清华大学航天航空学院博士研究生
PhD Candidate, School of Aerospace Engineering
Tsinghua University
Tel: 188-1152-7137
Mail:459543524 at qq.com




 

 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20220415/a983cd57/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test.mat
Type: application/octet-stream
Size: 5536 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20220415/a983cd57/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test.mat.info
Type: application/octet-stream
Size: 22 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20220415/a983cd57/attachment-0003.obj>


More information about the petsc-users mailing list