Definition at line 18 of file dorgqr_2stage_gpu.cpp.
References __func__, da_ref, dwork, magma_dlarfb_gpu(), magma_dmalloc(), magma_free(), MAGMA_SUCCESS, magma_xerbla(), magmablas_dlaset(), magmablas_dlaset_identity(), MagmaColumnwise, MagmaForward, MagmaLeft, MagmaNoTrans, MagmaUpperLower, max, min, t_ref, and codegen::work.
{
#define da_ref(a_1,a_2) (da+(a_2)*(ldda) + (a_1))
#define t_ref(a_1) (dT+(a_1)*nb)
*info = 0;
if (m < 0) {
*info = -1;
} else if ((n < 0) || (n > m)) {
*info = -2;
} else if ((k < 0) || (k > n)) {
*info = -3;
}
else if (ldda <
max(1,m)) {
*info = -5;
}
if (*info != 0) {
return *info;
}
if (n <= 0)
return *info;
printf ("!!!! dorgqr_2stage magma_alloc failed for: dwork\n" );
exit(-1);
}
if ( (nb > 1) && (nb < k) )
{
ki = (k - nb - 1) / nb * nb;
}
else
kk = 0;
panel = work + n * nb;
if (kk < n)
{
i__1 = m - kk;
i__2 = n - kk;
i__3 = k - kk;
i__1, i__2, i__3,
da_ref(kk, kk), ldda, dwork, i__2);
}
if (kk > 0)
{
for (i = ki; i >= nb; i-=nb)
{
i__2 = m - i;
if (i + ib < n)
{
i__3 = n - i;
i__2, i__3, ib,
da_ref(i, i), ldda, dwork, i__3);
}
i__2 = i + ib;
}
}
return *info;
}