I want to solve a tridigonal linear system. In mkl, there is gtsv for tridigonal solver and the direct solver Paridiso can also do it. My question is which one is better?
"Better" in what sense?
Pardiso is designed to handle general sparse matrices, and may not be the best choice for solving equations whose matrix is banded. There is considerable overhead with calling Pardiso, and the argument list is more complex to set up.
Really interesting question...The pardiso have additional reordering step, that will spent an percent of overall time, but it represent triangular matrix in different way, more suitable to palatalized... So my opinion is the following: If you need to solve system only once it better to call gtsv, if you are going to solve it several time, for example in nonlinear solver - pardiso may be the choice. But, in any case, one need to verify it :)