Esempio n. 1
0
// task execution code
static void SCHED_zgemm(Quark* quark)
{
  magma_int_t UPPER;
  magma_int_t M;
  magma_int_t N;
  magma_int_t K;
  cuDoubleComplex *A1;
  magma_int_t LDA;
  cuDoubleComplex *A2;
  cuDoubleComplex *A3;

  cuDoubleComplex mone = MAGMA_Z_NEG_ONE;
  cuDoubleComplex one = MAGMA_Z_ONE;

  quark_unpack_args_8(quark, UPPER, M, N, K, A1, LDA, A2, A3);

  if (UPPER) {

    blasf77_zgemm(MagmaConjTransStr, MagmaNoTransStr, 
      &M, &N, &K, &mone, A1, &LDA, A2, &LDA, &one, A3, &LDA);

  } else {

    blasf77_zgemm(MagmaNoTransStr, MagmaConjTransStr, 
      &M, &N, &K, &mone, A1, &LDA, A2, &LDA, &one, A3, &LDA);

  }

}
Esempio n. 2
0
void CORE_zplrnt_quark(Quark *quark)
{
    int m;
    int n;
    PLASMA_Complex64_t *A;
    int lda;
    int bigM;
    int m0;
    int n0;
    unsigned long long int seed;

    quark_unpack_args_8( quark, m, n, A, lda, bigM, m0, n0, seed );
    CORE_zplrnt( m, n, A, lda, bigM, m0, n0, seed );
}
Esempio n. 3
0
void CORE_dplrnt_quark(Quark *quark)
{
    int m;
    int n;
    double *A;
    int lda;
    int bigM;
    int m0;
    int n0;
    unsigned long long int seed;

    quark_unpack_args_8( quark, m, n, A, lda, bigM, m0, n0, seed );
    CORE_dplrnt( m, n, A, lda, bigM, m0, n0, seed );
}
Esempio n. 4
0
void CORE_zlag2c_quark(Quark *quark)
{
    int m;
    int n;
    PLASMA_Complex64_t *A;
    int lda;
    PLASMA_Complex32_t *B;
    int ldb;
    PLASMA_sequence *sequence;
    PLASMA_request *request;
    int info;

    quark_unpack_args_8(quark, m, n, A, lda, B, ldb, sequence, request);
    info = LAPACKE_zlag2c_work(LAPACK_COL_MAJOR, m, n, A, lda, B, ldb);
    if (sequence->status == PLASMA_SUCCESS && info != 0)
        plasma_sequence_flush(quark, sequence, request, info);
}
Esempio n. 5
0
void CORE_zlanhe_f1_quark(Quark *quark)
{
    double *normA;
    int norm;
    int uplo;
    int N;
    PLASMA_Complex64_t *A;
    int LDA;
    double *work;
    double *fake;

    quark_unpack_args_8(quark, norm, uplo, N, A, LDA, work, normA, fake);
    *normA = LAPACKE_zlanhe_work(
        LAPACK_COL_MAJOR,
        lapack_const(norm), lapack_const(uplo),
        N, A, LDA, work);
}
Esempio n. 6
0
void CORE_clange_f1_quark(Quark *quark)
{
    float *normA;
    int norm;
    int M;
    int N;
    PLASMA_Complex32_t *A;
    int LDA;
    float *work;
    float *fake;

    quark_unpack_args_8(quark, norm, M, N, A, LDA, work, normA, fake);
    *normA = LAPACKE_clange_work(
        LAPACK_COL_MAJOR,
        lapack_const(norm),
        M, N, A, LDA, work);
}
Esempio n. 7
0
void CORE_dlange_f1_quark(Quark *quark)
{
    double *normA;
    int norm;
    int M;
    int N;
    double *A;
    int LDA;
    double *work;
    double *fake;

    quark_unpack_args_8(quark, norm, M, N, A, LDA, work, normA, fake);
    *normA = LAPACKE_dlange_work(
        LAPACK_COL_MAJOR,
        lapack_const(norm),
        M, N, A, LDA, work);
}
Esempio n. 8
0
void CORE_slansy_f1_quark(Quark *quark)
{
    float *normA;
    int norm;
    int uplo;
    int N;
    float *A;
    int LDA;
    float *work;
    float *fake;

    quark_unpack_args_8(quark, norm, uplo, N, A, LDA, work, normA, fake);
    *normA = LAPACKE_slansy_work(
        LAPACK_COL_MAJOR,
        lapack_const(norm),
        lapack_const(uplo),
        N, A, LDA, work);
}
Esempio n. 9
0
void CORE_ctrtri_quark(Quark *quark)
{
    int uplo;
    int diag;
    int N;
    PLASMA_Complex32_t *A;
    int LDA;
    PLASMA_sequence *sequence;
    PLASMA_request *request;
    int iinfo;

    int info;

    quark_unpack_args_8(quark, uplo, diag, N, A, LDA, sequence, request, iinfo);
    info = LAPACKE_ctrtri_work(
        LAPACK_COL_MAJOR,
        lapack_const(uplo), lapack_const(diag),
        N, A, LDA);
    if ((sequence->status == PLASMA_SUCCESS) && (info != 0))
        plasma_sequence_flush(quark, sequence, request, iinfo + info);
}