Cusparse: Difference between gtsv2 and gtsv

Hi,
I was using cusparse gtsv for CFD application. I found that in CUDA 10.1 the gtsv would be deprecated in the future version. I would like to know that the new gtsv2 will be faster and better than gtsv?
Thank you very much.

I suggest reading the entire documentation section carefully. Some motivation for the shift from gtsv to gtsv2 is given there:

gtsv:

This function requires significant amount of temporary extra storage (min(m,8) ×(3+n)×sizeof())
The routine does not support asynchronous execution
The routine does not support CUDA graph capture

gtsv2:

The routine requires no extra storage
The routine supports asynchronous execution
The routine supports CUDA graph capture

Hi Robert,
Thanks for your help.
I have updated my CUDA toolkit and PGI compiler from CUDA 9.2 and 18.4 to CUDA 10.1 and PGI 19.5, respectively. Then I compiled one of my fortran codes as follows
" pgf90 -c -Mcuda=cuda10.1 -Mcudalib=cusparse etauv_solver_gpu.f90 ",
However, the compiler said ‘cusparsesgtsv2stridedbatch, has not been explicitly declared (etauv_solver_gpu.f90)’. Though, using cusparseSgtsvStridedbatch was still OK. It seems that PGI fortran compiler has not recognized the CUDA 10.1 cusparse toolbox.
Do I need some C-Fortran binding codes to handle this?
Thank you.

Ye Yuan, UDel

Hi, Robert,
It seems that I need to ask the above question at PGI 's forum.
Sorry
Ye

It seems like PGI 19.3 added support for CUDA 10.1:

[url]https://www.pgroup.com/resources/docs/19.5/x86/pgi-release-notes/index.htm[/url]

You might want to ask PGI-specific questions on the PGI forum:

[url]https://www.pgroup.com/userforum/index.php[/url]

It may not be implemented by PGI yet:

[url]https://www.pgroup.com/userforum/viewtopic.php?f=12&t=6613&p=25574&hilit=gtsv2#p25574[/url]

Hi Robert,
It seems that gtsv2 have not been included.
Thanks for your information
Regards
Ye