Commit 0338fbd0 authored by Giovanni La Mura's avatar Giovanni La Mura
Browse files

Fix product matrix sorting in MAGMA calls to account for RowMajor data

parent 01c9dcb7
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -318,7 +318,6 @@ magma_int_t magma_newton(
    rs.logger->err(message);
    exit(1);
  }
  double max_residue;
  magma_int_t maxindex = magma_izamax(mm, d_a, 1, queue) - 1;
  magma_queue_sync(queue);
  magmaDoubleComplex magmamax = magma_mone;
@@ -331,8 +330,8 @@ magma_int_t magma_newton(
    oldmax = curmax;
    // Compute -A*X
    magmablas_zgemm(
      MagmaNoTrans, MagmaNoTrans, m, m, m, magma_mone, d_a_orig, m,
      d_a, m, magma_zero, d_ax, m, queue
      MagmaNoTrans, MagmaNoTrans, m, m, m, magma_mone, d_a, m,
      d_a_orig, m, magma_zero, d_ax, m, queue
    );
    // Transform -A*X into (I - A*X)
    magma_zaxpy(m, magma_one, d_id_diag, 1, d_ax, m + 1, queue);
@@ -345,7 +344,7 @@ magma_int_t magma_newton(
    rs.logger->log(message, LOG_DEBG);
    if (curmax < 0.5) { // Safe conditions for Newton-Schultz iteration.
      if (curmax < 0.95 * oldmax) { // Newton-Schultz iteration is improving and can proceed.
	// Compute R = (A*X - I)*X
	// Compute R = X*(A*X - I)
	magmablas_zgemm(
          MagmaNoTrans, MagmaNoTrans, m, m, m, magma_one, d_ax, m,
	  d_a, m, magma_zero, d_r, m, queue