I\'m writing a sparse matrix solver using the Gauss-Seidel method. By profiling, I\'ve determined that about half of my program\'s time is spent inside the solver. The perfo
I'm no expert on the subject, but I've seen that there are several academic papers on improving the cache usage of the Gauss-Seidel method.
Another possible optimization is the use of the red-black variant, where points are updated in two sweeps in a chessboard-like pattern. In this way, all updates in a sweep are independent and can be parallelized.