diff --git a/control/descriptor.c b/control/descriptor.c index b7963cf76d9173c5e11dde119e525827fd514e73..69d189a29a2012c155693552c2a023cf1c1c5641 100644 --- a/control/descriptor.c +++ b/control/descriptor.c @@ -610,6 +610,10 @@ int MORSE_Desc_Create_OOC_User(MORSE_desc_t **descptr, MORSE_enum dtyp, int mb, int (*get_rankof)( const MORSE_desc_t*, int, int )) { #if !defined (CHAMELEON_SCHED_STARPU) + (void)descptr; (void)dtyp; (void)mb; (void)nb; (void)bsiz; + (void)lm; (void)ln; (void)i; (void)j; (void)m; (void)n; (void)p; (void)q; + (void)get_rankof; + morse_error("MORSE_Desc_Create_OOC_User", "Only StarPU supports on-demand tile allocation"); return MORSE_ERR_NOT_INITIALIZED; #else diff --git a/control/descriptor.h b/control/descriptor.h index 0d3d2173bd130d2dea2722eda16b2d4ffb56231b..7972ea05c574cc87ddfeaf6329101c096c886cb5 100644 --- a/control/descriptor.h +++ b/control/descriptor.h @@ -127,6 +127,7 @@ inline static void *morse_getaddr_cm(const MORSE_desc_t *A, int m, int n) **/ inline static void *morse_getaddr_null(const MORSE_desc_t *A, int m, int n) { + (void)A; (void)m; (void)n; return NULL; } diff --git a/runtime/quark/codelets/codelet_dataflush.c b/runtime/quark/codelets/codelet_dataflush.c index 65e000317196ead791215e69d98656c0e4f797ec..1334e8959aed3ce506bb835f52b17013a3b34153 100644 --- a/runtime/quark/codelets/codelet_dataflush.c +++ b/runtime/quark/codelets/codelet_dataflush.c @@ -29,7 +29,7 @@ void MORSE_TASK_dataflush(const MORSE_option_t *options, const MORSE_desc_t *A, int Am, int An) { - (void)options; (void)A; + (void)options; (void)A; (void)Am; (void)An; /* * This is useful for StarPU implementation, if it happens in Quark, it will diff --git a/runtime/quark/codelets/codelet_zgeadd.c b/runtime/quark/codelets/codelet_zgeadd.c index 7a9e8af105f0ea9dcdaead84f8b0221f75529ef7..4fc1c22cf51d29cebf820a9b39442e753686dc5e 100644 --- a/runtime/quark/codelets/codelet_zgeadd.c +++ b/runtime/quark/codelets/codelet_zgeadd.c @@ -117,4 +117,6 @@ void MORSE_TASK_zgeadd(const MORSE_option_t *options, sizeof(MORSE_Complex64_t)*ldb*n, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), INOUT, sizeof(int), &ldb, VALUE, 0); + + (void)nb; } diff --git a/runtime/quark/codelets/codelet_zgetrf_incpiv.c b/runtime/quark/codelets/codelet_zgetrf_incpiv.c index dacb1c0d8d5d56285ce708737ce52b6d987040cb..d383dd2f5e0f66239cfdc6b4c298a688d79a8836 100644 --- a/runtime/quark/codelets/codelet_zgetrf_incpiv.c +++ b/runtime/quark/codelets/codelet_zgetrf_incpiv.c @@ -107,6 +107,8 @@ void MORSE_TASK_zgetrf_incpiv(const MORSE_option_t *options, sizeof(MORSE_bool), &check_info, VALUE, sizeof(int), &iinfo, VALUE, 0); + + (void)L; (void)Lm; (void)Ln; (void)ldl; } diff --git a/runtime/quark/codelets/codelet_ztradd.c b/runtime/quark/codelets/codelet_ztradd.c index cd7919d90cad7a540237088631ce5ffb82f457df..f5b566b5188bf75634fe121d09d97a333076a380 100644 --- a/runtime/quark/codelets/codelet_ztradd.c +++ b/runtime/quark/codelets/codelet_ztradd.c @@ -123,5 +123,7 @@ void MORSE_TASK_ztradd(const MORSE_option_t *options, sizeof(MORSE_Complex64_t)*ldb*n, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), INOUT, sizeof(int), &ldb, VALUE, 0); + + (void)nb; } diff --git a/runtime/starpu/control/runtime_descriptor.c b/runtime/starpu/control/runtime_descriptor.c index 62b84a75286729194f2037807fd2405ad2ca11e6..6a05ce8baf0822c7222523f1d735ed9faf89f6e5 100644 --- a/runtime/starpu/control/runtime_descriptor.c +++ b/runtime/starpu/control/runtime_descriptor.c @@ -322,33 +322,28 @@ void *RUNTIME_desc_getaddr( const MORSE_desc_t *desc, int m, int n ) int64_t im = m + (desc->i / desc->mb); int64_t jn = n + (desc->j / desc->nb); - starpu_data_handle_t *ptrtile = (starpu_data_handle_t*)(desc->schedopt); - ptrtile += ((int64_t)(desc->lmt) * (int64_t)jn + (int64_t)im); + starpu_data_handle_t *ptrtile = desc->schedopt; + ptrtile += ((int64_t)desc->lmt) * jn + im; if (*ptrtile == NULL) { - int64_t eltsze = MORSE_Element_Size(desc->dtyp); + int home_node = -1; + void *user_ptr = NULL; int myrank = desc->myrank; int owner = desc->get_rankof( desc, m, n ); + int64_t eltsze = MORSE_Element_Size(desc->dtyp); int tempmm = (im == desc->lmt-1) ? (desc->lm - im * desc->mb) : desc->mb; int tempnn = (jn == desc->lnt-1) ? (desc->ln - jn * desc->nb) : desc->nb; if ( myrank == owner ) { - if ( desc->get_blkaddr(desc, m, n) == (void*)NULL ) { - starpu_matrix_data_register(ptrtile, -1, - (uintptr_t) NULL, - BLKLDD(desc, im), tempmm, tempnn, eltsze); - } - else { - starpu_matrix_data_register(ptrtile, STARPU_MAIN_RAM, - (uintptr_t)desc->get_blkaddr(desc, m, n), - BLKLDD(desc, im), tempmm, tempnn, eltsze); + user_ptr = desc->get_blkaddr(desc, m, n); + if ( user_ptr != NULL ) { + home_node = STARPU_MAIN_RAM; } } - else { - starpu_matrix_data_register(ptrtile, -1, - (uintptr_t) NULL, - BLKLDD(desc, im), tempmm, tempnn, eltsze); - } + + starpu_matrix_data_register(ptrtile, home_node, (uintptr_t) user_ptr, + BLKLDD(desc, im), + tempmm, tempnn, eltsze); #ifdef HAVE_STARPU_DATA_SET_COORDINATES starpu_data_set_coordinates(*ptrtile, 2, m, n); @@ -362,5 +357,5 @@ void *RUNTIME_desc_getaddr( const MORSE_desc_t *desc, int m, int n ) #endif /* defined(CHAMELEON_USE_MPI) */ } - return (void *)(*ptrtile); + return *ptrtile; } diff --git a/timing/time_zgeqrf_tile.c b/timing/time_zgeqrf_tile.c index 9980e56afdf16ec6f3ba82c5b84c58d251390f2c..8e461df50cf54c84a5fe4953907b51db5cf3603a 100644 --- a/timing/time_zgeqrf_tile.c +++ b/timing/time_zgeqrf_tile.c @@ -33,14 +33,14 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) /* Allocate Data */ PASTE_CODE_ALLOCATE_MATRIX_TILE( descA, 1, MORSE_Complex64_t, MorseComplexDouble, LDA, M, N ); PASTE_CODE_ALLOCATE_MATRIX_TILE( descX, ( check && M == N ), MORSE_Complex64_t, MorseComplexDouble, LDB, M, NRHS ); - PASTE_CODE_ALLOCATE_MATRIX_TILE( descAC, ( check && M == N ), MORSE_Complex64_t, MorseComplexDouble, LDA, M, N ); + PASTE_CODE_ALLOCATE_MATRIX_TILE( descA0, ( check && M == N ), MORSE_Complex64_t, MorseComplexDouble, LDA, M, N ); PASTE_CODE_ALLOCATE_MATRIX_TILE( descB, ( check && M == N ), MORSE_Complex64_t, MorseComplexDouble, LDB, M, NRHS ); MORSE_zplrnt_Tile( descA, 5373 ); /* Save A for check */ if (check == 1 && M == N){ - MORSE_zlacpy_Tile(MorseUpperLower, descA, descAC); + MORSE_zlacpy_Tile(MorseUpperLower, descA, descA0); } /* Allocate Workspace */ @@ -63,13 +63,13 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) MORSE_zgeqrs_Tile( descA, descT, descX ); /* Check solution */ - dparam[IPARAM_ANORM] = MORSE_zlange_Tile(MorseInfNorm, descAC); + dparam[IPARAM_ANORM] = MORSE_zlange_Tile(MorseInfNorm, descA0); dparam[IPARAM_BNORM] = MORSE_zlange_Tile(MorseInfNorm, descB); dparam[IPARAM_XNORM] = MORSE_zlange_Tile(MorseInfNorm, descX); - MORSE_zgemm_Tile( MorseNoTrans, MorseNoTrans, 1.0, descAC, descX, -1.0, descB ); + MORSE_zgemm_Tile( MorseNoTrans, MorseNoTrans, 1.0, descA0, descX, -1.0, descB ); dparam[IPARAM_RES] = MORSE_zlange_Tile(MorseInfNorm, descB); PASTE_CODE_FREE_MATRIX( descX ) - PASTE_CODE_FREE_MATRIX( descAC ) + PASTE_CODE_FREE_MATRIX( descA0 ) PASTE_CODE_FREE_MATRIX( descB ) }