Hi François,

 > I finally managed to run ViennaCL with a Block-ILU0 pre-conditioner on
> the CPU using OpenMP.

Since you mentioned that the diagonal matrix is causing the problem, I 
will look into it.


> I use the code attached to this email for a matrix
> that solves the "heat equation" on a 2D square. What puzzles me is that :
>
> - I get the best timing with nb_blocks = 1. I was expecting timing to go
> down when the number of blocks increase because of room for parallelisation.

this is almost certainly due to overheads in the setup stage:
  https://github.com/viennacl/viennacl-dev/issues/40
It will be fixed in the release later this month.

Also note that while a block-ILU preconditioner will reduce the time 
spent per solver iteration, the total number of iterations may increase.

FYI: The next release will bring a massively parallel ILU0 
preconditioner [1]. I can point you to the feature branch in the 
developer repository on GitHub if you don't want to wait.


> - During the construction of the ILU0 preconditionner I was expecting
> the CPU to go to 100% with one block, 200% for 2 blocks, etc. I don’t
> get that. It seems that the CPU goes up to 200% for a very short time
> and then goes back to 100%. This behavior does not depend upon
> nb_blocks. Is it expected?

This is most likely because too much time is spent in the remaining 
sequential stages causing the overheads mentioned above.

Best regards,
Karli

[1] http://www.cc.gatech.edu/~echow/pubs/parilu-sisc.pdf


------------------------------------------------------------------------------
_______________________________________________
ViennaCL-support mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/viennacl-support

Reply via email to