Hi Hong, It's been a while but we have found that moving to PETSc3.4 solved this problem with MatMatMult() in PETSc3.3p5. Thanks, Jim
On Tue, Jan 15, 2013 at 4:43 PM, Hong Zhang <[email protected]> wrote: > Jim : > Can you switch to petsc-dev? MatMatMult() > has been updated significantly in petsc-dev > If you still see problem in petsc-dev, send us a short code that > produce the error. We'll check it. > > Hong > > > Hi, > > We are in the process of upgrading from Petsc 3.2 to 3.3p5. > > > > We are creating matrices A and B in this way. > > petsc_matrix = new Mat; > > ierr = MatCreateDense(comm, m, num_cols ,num_rows,num_cols,data,A); > > > > Elsewhere, we have this. It gets called a few times, and on the 4th time, > > the size of matrix is C is wrong. Please see the output below. What > could be > > the problem? > > C = new Mat; > > double fill = PETSC_DEFAULT; > > MatMatMult(A,B,MAT_INITIAL_MATRIX, fill, C); > > { > > int m,n; > > MatGetOwnershipRange(A, &m, &n); > > cerr << "A.m = " << m << "\n"; > > cerr << "A.n = " << n << "\n"; > > MatGetSize(A,&m,&n); > > cerr << "A global rows = " << m << "\n"; > > cerr << "A global cols = " << n << "\n"; > > > > MatGetOwnershipRange(B, &m, &n); > > cerr << "B.m = " << m << "\n"; > > cerr << "B.n = " << n << "\n"; > > MatGetSize(B,&m,&n); > > cerr << "B global rows = " << m << "\n"; > > cerr << "B global cols = " << n << "\n"; > > > > MatGetOwnershipRange(*C, &m, &n); > > cerr << "C.m = " << m << "\n"; > > cerr << "C.n = " << n << "\n"; > > > > MatGetSize(*C,&m,&n); > > cerr << "C global rows = " << m << "\n"; > > cerr << "C global cols = " << n << "\n"; > > > > } > > > > A.m = 0 > > A.n = 59 > > A global rows = 59 > > A global cols = 320 > > B.m = 0 > > B.n = 320 > > B global rows = 320 > > B global cols = 320 > > C.m = 0 > > C.n = 59 > > C global rows = 59 > > C global cols = 320 > > A.m = 0 > > A.n = 59 > > A global rows = 59 > > A global cols = 320 > > B.m = 0 > > B.n = 320 > > B global rows = 320 > > B global cols = 59 > > C.m = 10922 > > C.n = -1389327096 > > C global rows = -1389327112 > > C global cols = -1389327112 > > > > > > Thanks, > > Jim > > -- > > Jim Fonseca, PhD > > Research Scientist > > Network for Computational Nanotechnology > > Purdue University > > 765-496-6495 > > www.jimfonseca.com > > > > > -- Jim Fonseca, PhD Research Scientist Network for Computational Nanotechnology Purdue University 765-496-6495 www.jimfonseca.com
