Gauss-Seidel проигрывает Jacobi в 4–5 раз, но это можно исправить
Measuring Gauss-Seidel loop-carried dependency and fixing it via loop unrolling

Gauss-Seidel сходится за вдвое меньше итераций, чем Jacobi, но на практике работает в 4–5 раз медленнее из-за loop-carried зависимостей, которые не дают компилятору векторизовать код. Автор измеряет критический путь и LCD с помощью OSACA и показывает, что Gauss-Seidel упирается в latency-барьер в 12 циклов на элемент. Простое loop unrolling не помогает, так как зависимость переносится внутрь тела цикла. Решение требует переписать саму зависимость, чтобы затем развернуть цикл.
Gauss-Seidel: hard dependency, compiler’s hands are tied.