diff --git a/control/compute_z.h b/control/compute_z.h index 71f5428c613e1fbc80b0511661fe1abd4489edef..16b8978e8dcc0ef2bf1c9c54d784130377914f30 100644 --- a/control/compute_z.h +++ b/control/compute_z.h @@ -244,13 +244,13 @@ chameleon_zlap2tile( CHAM_context_t *chamctxt, CHAMELEON_Complex64_t *A, int mb, int nb, int lm, int ln, int m, int n, RUNTIME_sequence_t *seq, RUNTIME_request_t *req ) { - /* Initialize the Lapack descriptor */ - chameleon_desc_init( descAl, A, ChamComplexDouble, mb, nb, (mb)*(nb), - lm, ln, 0, 0, m, n, 1, 1, - chameleon_getaddr_cm, chameleon_getblkldd_cm, NULL ); - descAl->styp = ChamCM; - if ( CHAMELEON_TRANSLATION == ChamOutOfPlace ) { + /* Initialize the Lapack descriptor */ + chameleon_desc_init( descAl, A, ChamComplexDouble, mb, nb, (mb)*(nb), + lm, ln, 0, 0, m, n, 1, 1, + chameleon_getaddr_cm, chameleon_getblkldd_cm, NULL ); + descAl->styp = ChamCM; + /* Initialize the tile descriptor */ chameleon_desc_init( descAt, CHAMELEON_MAT_ALLOC_TILE, ChamComplexDouble, mb, nb, (mb)*(nb), lm, ln, 0, 0, m, n, 1, 1, @@ -264,17 +264,8 @@ chameleon_zlap2tile( CHAM_context_t *chamctxt, /* Initialize the tile descriptor */ chameleon_desc_init( descAt, A, ChamComplexDouble, mb, nb, (mb)*(nb), lm, ln, 0, 0, m, n, 1, 1, - chameleon_getaddr_ccrb, chameleon_getblkldd_ccrb, NULL ); - - chameleon_fatal_error( "chameleon_zlap2tile", "INPLACE translation not supported yet"); - - if ( mode & ChamDescInput ) { - /* CHAMELEON_zgecfi_Async( lm, ln, A, ChamCM, mb, nb, */ - /* ChamCCRB, mb, nb, seq, req ); */ - } - return CHAMELEON_ERR_NOT_SUPPORTED; + chameleon_getaddr_cm, chameleon_getblkldd_cm, NULL ); } - return CHAMELEON_SUCCESS; } @@ -290,17 +281,8 @@ chameleon_ztile2lap( CHAM_context_t *chamctxt, CHAM_desc_t *descAl, CHAM_desc_t if ( mode & ChamDescOutput ) { chameleon_pzlacpy( uplo, descAt, descAl, seq, req ); } + RUNTIME_desc_flush( descAl, seq ); } - else { - chameleon_fatal_error( "chameleon_ztile2lap", "INPLACE translation not supported yet"); - if ( mode & ChamDescOutput ) { - /* CHAMELEON_zgecfi_Async( descAl->lm, descAl->ln, descAl->mat, */ - /* ChamCCRB, descAl->mb, descAl->nb, */ - /* ChamCM, descAl->mb, descAl->nb, seq, req ); */ - } - return CHAMELEON_ERR_NOT_SUPPORTED; - } - RUNTIME_desc_flush( descAl, seq ); RUNTIME_desc_flush( descAt, seq ); return CHAMELEON_SUCCESS; @@ -314,7 +296,9 @@ static inline void chameleon_ztile2lap_cleanup( CHAM_context_t *chamctxt, CHAM_desc_t *descAl, CHAM_desc_t *descAt ) { (void)chamctxt; - chameleon_desc_destroy( descAl ); + if ( CHAMELEON_TRANSLATION == ChamOutOfPlace ) { + chameleon_desc_destroy( descAl ); + } chameleon_desc_destroy( descAt ); } diff --git a/control/context.c b/control/context.c index 52ffc195094b2b0126883071090df386f876317d..a48c80ea72d59c26b283bb3f2d0e48a2e00c16ff 100644 --- a/control/context.c +++ b/control/context.c @@ -80,7 +80,7 @@ CHAM_context_t *chameleon_context_create() chamctxt->runtime_paused = CHAMELEON_FALSE; chamctxt->householder = ChamFlatHouseholder; - chamctxt->translation = ChamOutOfPlace; + chamctxt->translation = ChamInPlace; /* Initialize scheduler */ RUNTIME_context_create(chamctxt);