11-19-2020 04:42 PM
I'm trying to use the solver library (https://xilinx.github.io/Vitis_Libraries/solver/2020.1/guide_L2/L2_api.html#gtsv) to solve a tri-diagonal matrix system. I was getting some unexpected results when using the program for a non-trivial system size. Trying to compute the solution, in software emulation, with a system of size N=3136, I seem to get the solution in a jumbled order. I can easily verify if a found solution is actually correct, but when I do this I get large numerical errors. Still, I think the solution might be "correct, but jumbled", as the sum over the computed solution using the Xilinx solver library is very close to the sum over the solution using a reference lapack implementation (installed with apt-get liblapack-dev).
I have written a small reference program the shows the problem using some random data, hosted on github: https://github.com/JoachimKoenigslieb/gtsv-problems The provide Makefile depends on lapack, which should be available as liblapack-dev from apt-get.
Is there some problem with the implementation, or is there some problem with my code?
Thanks for any help you can provide me.
11-26-2020 02:45 AM
I have not yet gone through your implementation, however, have you tested the below triangular solver function example?
11-26-2020 09:13 AM
I have yes!
The problem can't be seen in that example for two important reasons:
1. The system is extremely symmetric: The solution is the same for all the equations! Even if they would get shuffled, we would not be able to notice.
2. The gtsv function does not give weird results at such low sizes!
11-26-2020 10:49 PM
Can I use your repository to reproduce the issue?
What are the steps to be followed?