Re: [petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-07 Thread Barry Smith
> On Mar 7, 2017, at 9:41 PM, Fande Kong wrote: > > > > On Tue, Mar 7, 2017 at 7:37 PM, Barry Smith wrote: > > > On Mar 7, 2017, at 4:35 PM, Kong, Fande wrote: > > > > I found one issue on my side. The preallocation is not right

Re: [petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-07 Thread Fande Kong
On Tue, Mar 7, 2017 at 7:55 PM, Barry Smith wrote: > >I have run your larger matrix on my laptop with "default" optimization > (so --with-debugging=0) this is what I get > > >

Re: [petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-07 Thread Barry Smith
Just for kicks I added MatMult_SeqBAIJ_11 to master and obtained a new MatMult5 1.0 4.4513e-02 1.0 1.94e+08 1.0 0.0e+00 0.0e+00 0.0e+00 5 8 0 0 0 8 8 0 0 0 2918 which demonstrates how the custom routines for different sizes can improve the performance. Note that

Re: [petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-07 Thread Fande Kong
On Tue, Mar 7, 2017 at 7:37 PM, Barry Smith wrote: > > > On Mar 7, 2017, at 4:35 PM, Kong, Fande wrote: > > > > I found one issue on my side. The preallocation is not right for the > BAIJ matrix. Will this slow down MatLUFactor and MatSolve? > > No,

Re: [petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-07 Thread Barry Smith
I have run your larger matrix on my laptop with "default" optimization (so --with-debugging=0) this is what I get EventCount Time (sec) Flop

Re: [petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-07 Thread Barry Smith
> On Mar 7, 2017, at 4:35 PM, Kong, Fande wrote: > > I found one issue on my side. The preallocation is not right for the BAIJ > matrix. Will this slow down MatLUFactor and MatSolve? No, but you should still fix it. > > How to converge AIJ to BAIJ using a command-line

Re: [petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-07 Thread Hong
Fande : > I found one issue on my side. The preallocation is not right for the BAIJ > matrix. Will this slow down MatLUFactor and MatSolve? > preallocation should not affect ilu(0). > > How to converge AIJ to BAIJ using a command-line option? > -mat_type aij or -mat_type baij Hong > > >

Re: [petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-07 Thread Kong, Fande
I found one issue on my side. The preallocation is not right for the BAIJ matrix. Will this slow down MatLUFactor and MatSolve? How to converge AIJ to BAIJ using a command-line option? Fande, On Tue, Mar 7, 2017 at 3:26 PM, Jed Brown wrote: > "Kong, Fande"

Re: [petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-07 Thread Jed Brown
"Kong, Fande" writes: > On Tue, Mar 7, 2017 at 3:16 PM, Jed Brown wrote: > >> Hong writes: >> >> > Fande, >> > Got it. Below are what I get: >> >> Is Fande using ILU(0) or ILU(k)? (And I think it should be possible to >> get a

Re: [petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-07 Thread Kong, Fande
On Tue, Mar 7, 2017 at 3:16 PM, Jed Brown wrote: > Hong writes: > > > Fande, > > Got it. Below are what I get: > > Is Fande using ILU(0) or ILU(k)? (And I think it should be possible to > get a somewhat larger benefit.) > I am using ILU(0). Will it be

Re: [petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-07 Thread Jed Brown
Hong writes: > Fande, > Got it. Below are what I get: Is Fande using ILU(0) or ILU(k)? (And I think it should be possible to get a somewhat larger benefit.) > petsc/src/ksp/ksp/examples/tutorials (master) > $ ./ex10 -f0 binaryoutput -rhs 0 -mat_view ascii::ascii_info > Mat

Re: [petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-07 Thread Barry Smith
> On Mar 7, 2017, at 3:26 PM, Kong, Fande wrote: > > > > On Tue, Mar 7, 2017 at 2:07 PM, Barry Smith wrote: > >The matrix is too small. Please post ONE big matrix > > I am using "-ksp_view_pmat binary" to save the matrix. How can I save the >

Re: [petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-07 Thread Kong, Fande
On Tue, Mar 7, 2017 at 2:07 PM, Barry Smith wrote: > >The matrix is too small. Please post ONE big matrix > I am using "-ksp_view_pmat binary" to save the matrix. How can I save the latest one only for a time-dependent problem? Fande, > > > On Mar 7, 2017, at 2:26

Re: [petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-07 Thread Hong
Fande, Got it. Below are what I get: petsc/src/ksp/ksp/examples/tutorials (master) $ ./ex10 -f0 binaryoutput -rhs 0 -mat_view ascii::ascii_info Mat Object: 1 MPI processes type: seqaij rows=8019, cols=8019, bs=11 total: nonzeros=1890625, allocated nonzeros=1890625 total number of mallocs

Re: [petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-07 Thread Barry Smith
The matrix is too small. Please post ONE big matrix > On Mar 7, 2017, at 2:26 PM, Kong, Fande wrote: > > Uploaded to google drive, and sent you links in another email. Not sure if it > works or not. > > Fande, > > On Tue, Mar 7, 2017 at 12:29 PM, Barry Smith

Re: [petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-07 Thread Kong, Fande
Uploaded to google drive, and sent you links in another email. Not sure if it works or not. Fande, On Tue, Mar 7, 2017 at 12:29 PM, Barry Smith wrote: > >It is too big for email you can post it somewhere so we can download it. > > > > On Mar 7, 2017, at 12:01 PM, Kong,

Re: [petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-07 Thread Barry Smith
It is too big for email you can post it somewhere so we can download it. > On Mar 7, 2017, at 12:01 PM, Kong, Fande wrote: > > > > On Tue, Mar 7, 2017 at 10:23 AM, Hong wrote: > I checked > MatILUFactorSymbolic_SeqBAIJ() and

Re: [petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-07 Thread Hong
Fande : A small one, e.g., the size used by a sequential diagonal block for ilu preconditioner would work. Thanks, Hong > > > On Tue, Mar 7, 2017 at 10:23 AM, Hong wrote: > >> I checked >> MatILUFactorSymbolic_SeqBAIJ() and MatILUFactorSymbolic_SeqAIJ(), >> they are

Re: [petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-07 Thread Kong, Fande
On Tue, Mar 7, 2017 at 10:23 AM, Hong wrote: > I checked > MatILUFactorSymbolic_SeqBAIJ() and MatILUFactorSymbolic_SeqAIJ(), > they are virtually same. Why the version for BAIJ is so much slower? > I'll investigate it. > > Fande, > How large is your matrix? Is it possible to

Re: [petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-07 Thread Hong
I checked MatILUFactorSymbolic_SeqBAIJ() and MatILUFactorSymbolic_SeqAIJ(), they are virtually same. Why the version for BAIJ is so much slower? I'll investigate it. Fande, How large is your matrix? Is it possible to send us your matrix so I can test it? Hong On Mon, Mar 6, 2017 at 9:08 PM,

Re: [petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-06 Thread Barry Smith
Thanks. Even the symbolic is slower for BAIJ. I don't like that, it definitely should not be since it is (at least should be) doing a symbolic factorization on a symbolic matrix 1/11th the size! Keep us informed. > On Mar 6, 2017, at 5:44 PM, Kong, Fande wrote: >

Re: [petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-06 Thread Kong, Fande
Thanks, Barry, Log info: AIJ: MatSolve 850 1.0 8.6543e+00 4.2 3.04e+09 1.8 0.0e+00 0.0e+00 0.0e+00 0 41 0 0 0 0 41 0 0 0 49594 MatLUFactorNum25 1.0 1.7622e+00 2.0 2.04e+09 2.1 0.0e+00 0.0e+00 0.0e+00 0 26 0 0 0 0 26 0 0 0 153394 MatILUFactorSym 13 1.0

Re: [petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-06 Thread Barry Smith
Note also that if the 11 by 11 blocks are actually sparse (and you don't store all the zeros in the blocks in the AIJ format) then then AIJ non-block factorization involves less floating point operations and less memory access so can be faster than the BAIJ format, depending on "how sparse"

Re: [petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-06 Thread Barry Smith
This is because for block size 11 it is using calls to LAPACK/BLAS for the block operations instead of custom routines for that block size. Here is what you need to do. For a good sized case run both with -log_view and check the time spent in MatLUFactorNumeric, MatLUFactorSymbolic and

Re: [petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-06 Thread Kong, Fande
On Mon, Mar 6, 2017 at 3:27 PM, Patrick Sanan wrote: > On Mon, Mar 6, 2017 at 1:48 PM, Kong, Fande wrote: > > Hi All, > > > > I am solving a nonlinear system whose Jacobian matrix has a block > structure. > > More precisely, there is a mesh, and for

Re: [petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-06 Thread Patrick Sanan
On Mon, Mar 6, 2017 at 1:48 PM, Kong, Fande wrote: > Hi All, > > I am solving a nonlinear system whose Jacobian matrix has a block structure. > More precisely, there is a mesh, and for each vertex there are 11 variables > associated with it. I am using BAIJ. > > I thought

[petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-06 Thread Kong, Fande
Hi All, I am solving a nonlinear system whose Jacobian matrix has a block structure. More precisely, there is a mesh, and for each vertex there are 11 variables associated with it. I am using BAIJ. I thought block ILU(k) should be more efficient than the point-wise ILU(k). After some numerical