/* Task execution code */ static void SCHED_panel_update(Quark* quark) { int N; cuDoubleComplex *A1; int LDA; int K2; int *IPIV; cuDoubleComplex *A2; int M; int K; cuDoubleComplex *A3; cuDoubleComplex *A4; int ione=1; cuDoubleComplex mone = MAGMA_Z_NEG_ONE; cuDoubleComplex one = MAGMA_Z_ONE; quark_unpack_args_10(quark, N, A1, LDA, K2, IPIV, A2, M, K, A3, A4); lapackf77_zlaswp(&N, A1, &LDA, &ione, &K2, IPIV, &ione); blasf77_ztrsm("l", "l", "n", "u", &K2, &N, &one, A2, &LDA, A1, &LDA); if (M > 0) { blasf77_zgemm("n","n", &M, &N, &K, &mone, A3, &LDA, A1, &LDA, &one, A4, &LDA); } }
void CORE_cgetrf_reclap_quark(Quark* quark) { int M; int N; PLASMA_Complex32_t *A; int LDA; int *IPIV; PLASMA_sequence *sequence; PLASMA_request *request; PLASMA_bool check_info; int iinfo; int info[3]; int maxthreads; quark_unpack_args_10(quark, M, N, A, LDA, IPIV, sequence, request, check_info, iinfo, maxthreads ); info[1] = QUARK_Get_RankInTask(quark); info[2] = maxthreads; CORE_cgetrf_reclap( M, N, A, LDA, IPIV, info ); if (info[1] == 0 && info[0] != PLASMA_SUCCESS && check_info) plasma_sequence_flush(quark, sequence, request, iinfo + info[0] ); }
void CORE_zbrdalg_quark(Quark *quark) { PLASMA_desc *pA; PLASMA_Complex64_t *V; PLASMA_Complex64_t *TAU; int uplo; int N, NB; int i, j, m, grsiz; quark_unpack_args_10(quark, uplo, N, NB, pA, V, TAU, i, j, m, grsiz); CORE_zbrdalg(uplo, N, NB, pA, V, TAU, i, j, m, grsiz); }
void CORE_zpltmg_quark(Quark *quark) { int mtxtype; int m; int n; PLASMA_Complex64_t *A; int lda; int gM; int gN; int m0; int n0; unsigned long long int seed; quark_unpack_args_10( quark, mtxtype, m, n, A, lda, gM, gN, m0, n0, seed ); CORE_zpltmg( mtxtype, m, n, A, lda, gM, gN, m0, n0, seed ); }
void CORE_zgetrf_incpiv_quark(Quark *quark) { int m; int n; int ib; PLASMA_Complex64_t *A; int lda; int *IPIV; PLASMA_sequence *sequence; PLASMA_request *request; PLASMA_bool check_info; int iinfo; int info; quark_unpack_args_10(quark, m, n, ib, A, lda, IPIV, sequence, request, check_info, iinfo); CORE_zgetrf_incpiv(m, n, ib, A, lda, IPIV, &info); if (info != PLASMA_SUCCESS && check_info) plasma_sequence_flush(quark, sequence, request, iinfo+info); }
void CORE_zherk_quark(Quark *quark) { int uplo; int trans; int n; int k; double alpha; PLASMA_Complex64_t *A; int lda; double beta; PLASMA_Complex64_t *C; int ldc; quark_unpack_args_10(quark, uplo, trans, n, k, alpha, A, lda, beta, C, ldc); cblas_zherk( CblasColMajor, (CBLAS_UPLO)uplo, (CBLAS_TRANSPOSE)trans, n, k, alpha, A, lda, beta, C, ldc); }
void CORE_zhegst_quark(Quark *quark) { int itype; PLASMA_enum uplo; int n; PLASMA_Complex64_t *A; int lda; PLASMA_Complex64_t *B; int ldb; PLASMA_sequence *sequence; PLASMA_request *request; int iinfo; int info; quark_unpack_args_10(quark, itype, uplo, n, A, lda, B, ldb, sequence, request, iinfo); info = LAPACKE_zhegst_work( LAPACK_COL_MAJOR, itype, lapack_const(uplo), n, A, lda, B, ldb); if (sequence->status == PLASMA_SUCCESS && info != 0) plasma_sequence_flush(quark, sequence, request, iinfo+info); }