Difference between cusparseScsrilu02 and cusparseScsrilu0


I’m trying to implement a ILU preconditioned BiCGSTAB solver with cuBLAS and cuSPARSE.

But I have a confusion which to choose.

What is the difference between cusparseScsrilu02 and cusparseScsrilu0?

Are they merely ILU(2) and ILU(0)?


I asked the person who wrote these routines. Both are zero fill-in routines, “ILU(0)”, but use different algorithms. The 02 version attempts to extract some extra parallelism with the potential for performance benefits. However, performance depends on the sparsity pattern of the problem so test 01 as well.



I have been using both.

There is a GTC talk (I forget which year) on the second algorithm which uses “dominoes” to try to improve performance.

Unfortunately, for my cases the second algorithm performed slightly worse than the standard one.

  • Ron