                     }
                 }
                 Vi = diag_sum == 0 ? 0.0 : right_sum/diag_sum;
-
-                if (k % 300 == 0) {
-                    diff = fabs(V[Node.i] - Vi);
-                    r = (diff > r) ? diff : r;
-                }
-
+                diff = fabs(V[Node.i] - Vi);
+                r = (diff > r) ? diff : r;
                 V[Node.i] = Vi;
             }
         }

           s_V = sizeof(double)*nn;

    // Malloc
    R = (double*)malloc(s_V);
    CudaSafeCall(cudaMalloc(&d_elements, s_Elements));
    CudaSafeCall(cudaMalloc(&d_nodes, s_Nodes));
    CudaSafeCall(cudaMalloc(&d_V, s_V));
    CudaSafeCall(cudaMalloc(&d_R, s_V));
    // Memcpy
    CudaSafeCall(cudaMemcpy(d_elements, elements, s_Elements, cudaMemcpyHostToDevice));
    CudaSafeCall(cudaMemcpy(d_nodes, nodes, s_Nodes, cudaMemcpyHostToDevice));

        printf("[!] %s compiled in %s %s\n", __FILE__, __DATE__, __TIME__);
    }

    int k = 1;
    double *d_V;
    node *d_nodes;
    elementri *d_elements;
    const dim3 threads(512);
