Gauss-Seidel es 5 veces más lento que Jacobi: la dependencia que lo frena
Measuring Gauss-Seidel loop-carried dependency and fixing it via loop unrolling

El método de Gauss-Seidel converge en la mitad de iteraciones que Jacobi, pero en la práctica tarda de 4 a 5 veces más. La causa es una dependencia de bucle de 12 ciclos por elemento que impide al compilador vectorizar. El análisis con OSACA confirma que Gauss-Seidel está limitado por latencia, mientras que Jacobi lo está por rendimiento. El artículo explora si el desenrollado de bucles puede romper esa cadena y recuperar la ventaja de convergencia sin sacrificar eficiencia.
El compilador no puede empezar a calcular u(i,j) antes de que exista u(i-1,j), porque el propio algoritmo lo exige.