diff --git a/runtime/parsec/codelets/codelet_dataflush.c b/runtime/parsec/codelets/codelet_dataflush.c index a065cedf48fc5734a7bd17adac79d1955faa97f3..6f14deb74c25aa2427feea50fdd16e30c91c8078 100644 --- a/runtime/parsec/codelets/codelet_dataflush.c +++ b/runtime/parsec/codelets/codelet_dataflush.c @@ -33,11 +33,13 @@ void MORSE_TASK_flush_data( const MORSE_option_t *options, void MORSE_TASK_flush_desc( const MORSE_option_t *options, MORSE_enum uplo, const MORSE_desc_t *A ) { - parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); + /* parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); */ - parsec_dtd_data_flush_all( PARSEC_dtd_taskpool, (parsec_data_collection_t*)(A->schedopt) ); + /* parsec_dtd_data_flush_all( PARSEC_dtd_taskpool, (parsec_data_collection_t*)(A->schedopt) ); */ + (void)options; (void)uplo; + (void)A; } void MORSE_TASK_flush_all() diff --git a/runtime/parsec/control/runtime_async.c b/runtime/parsec/control/runtime_async.c index 7df5d0bcf2b086a2c6e28c2b3136a150a3a555d8..faa41447a25824a15dbce315f4dd30ddc2ab2e40 100644 --- a/runtime/parsec/control/runtime_async.c +++ b/runtime/parsec/control/runtime_async.c @@ -1,10 +1,16 @@ /** * - * @copyright (c) 2009-2015 The University of Tennessee and The University - * of Tennessee Research Foundation. - * All rights reserved. - * @copyright (c) 2012-2015 Inria. All rights reserved. - * @copyright (c) 2012-2015 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, Univ. Bordeaux. All rights reserved. + * @copyright 2012-2017 The University of Tennessee and The University of + * Tennessee Research Foundation. All rights reserved. + * @copyright 2012-2017 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, + * Univ. Bordeaux. All rights reserved. + * + * @file runtime_async.c + * + * @version 1.0.0 + * @author Reazul Hoque + * @author Mathieu Faverge + * @date 2017-01-12 * **/ #include <stdlib.h> @@ -13,7 +19,8 @@ /******************************************************************************* * Create a sequence **/ -int RUNTIME_sequence_create(MORSE_context_t *morse, MORSE_sequence_t *sequence) +int RUNTIME_sequence_create( MORSE_context_t *morse, + MORSE_sequence_t *sequence ) { parsec_context_t *parsec = (parsec_context_t *)morse->schedopt; parsec_taskpool_t *parsec_dtd_tp = parsec_dtd_taskpool_new(); @@ -29,7 +36,8 @@ int RUNTIME_sequence_create(MORSE_context_t *morse, MORSE_sequence_t *sequence) /******************************************************************************* * Destroy a sequence **/ -int RUNTIME_sequence_destroy(MORSE_context_t *morse, MORSE_sequence_t *sequence) +int RUNTIME_sequence_destroy( MORSE_context_t *morse, + MORSE_sequence_t *sequence ) { parsec_context_t *parsec = (parsec_context_t *)morse->schedopt; parsec_taskpool_t *parsec_dtd_tp = (parsec_taskpool_t *) sequence->schedopt; @@ -50,7 +58,8 @@ int RUNTIME_sequence_destroy(MORSE_context_t *morse, MORSE_sequence_t *sequence) /******************************************************************************* * Wait for the completion of a sequence **/ -int RUNTIME_sequence_wait(MORSE_context_t *morse, MORSE_sequence_t *sequence ) +int RUNTIME_sequence_wait( MORSE_context_t *morse, + MORSE_sequence_t *sequence ) { parsec_context_t *parsec = (parsec_context_t *)morse->schedopt; parsec_taskpool_t *parsec_dtd_tp = (parsec_taskpool_t *) sequence->schedopt; @@ -65,13 +74,13 @@ int RUNTIME_sequence_wait(MORSE_context_t *morse, MORSE_sequence_t *sequence ) /******************************************************************************* * Terminate a sequence **/ -void RUNTIME_sequence_flush(void *schedopt, MORSE_sequence_t *sequence, MORSE_request_t *request, int status) +void RUNTIME_sequence_flush( MORSE_context_t *morse, + MORSE_sequence_t *sequence, + MORSE_request_t *request, + int status ) { - parsec_context_t *parsec = (parsec_context_t *)schedopt; - (void)schedopt; sequence->request = request; sequence->status = status; request->status = status; return; } - diff --git a/runtime/parsec/control/runtime_context.c b/runtime/parsec/control/runtime_context.c index dee863d4f76a8748c41288436f7fc2ecc3f25a56..130161d53398460500a7f60a3b3eb92d952a3348 100644 --- a/runtime/parsec/control/runtime_context.c +++ b/runtime/parsec/control/runtime_context.c @@ -1,10 +1,16 @@ /** * - * @copyright (c) 2009-2015 The University of Tennessee and The University - * of Tennessee Research Foundation. - * All rights reserved. - * @copyright (c) 2012-2015 Inria. All rights reserved. - * @copyright (c) 2012-2015 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, Univ. Bordeaux. All rights reserved. + * @copyright 2012-2017 The University of Tennessee and The University of + * Tennessee Research Foundation. All rights reserved. + * @copyright 2012-2017 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, + * Univ. Bordeaux. All rights reserved. + * + * @file runtime_context.c + * + * @version 1.0.0 + * @author Reazul Hoque + * @author Mathieu Faverge + * @date 2017-01-12 * **/ #include <stdlib.h> @@ -13,7 +19,7 @@ /******************************************************************************* * Create new context **/ -void RUNTIME_context_create(MORSE_context_t *morse) +void RUNTIME_context_create( MORSE_context_t *morse ) { /* In case of PaRSEC, this is done in init */ morse->scheduler = RUNTIME_SCHED_PARSEC; @@ -23,8 +29,7 @@ void RUNTIME_context_create(MORSE_context_t *morse) /******************************************************************************* * Clean the context **/ - -void RUNTIME_context_destroy(MORSE_context_t *morse) +void RUNTIME_context_destroy( MORSE_context_t *morse ) { (void)morse; return; @@ -37,12 +42,10 @@ void RUNTIME_enable(MORSE_enum lever) { switch (lever) { - case MORSE_PROFILING_MODE: - // TODO: check correctly for this - //dague_profiling_start(); - break; - default: - return; + case MORSE_PROFILING_MODE: + break; + default: + return; } return; } @@ -54,12 +57,10 @@ void RUNTIME_disable(MORSE_enum lever) { switch (lever) { - case MORSE_PROFILING_MODE: - // TODO: check correctly for this - //dague_profiling_stop(); - break; - default: - return; + case MORSE_PROFILING_MODE: + break; + default: + return; } return; } diff --git a/runtime/parsec/control/runtime_control.c b/runtime/parsec/control/runtime_control.c index 5efcbcde57db74cfa0208db8d757c3e75edaf177..2063be2ceed77992c8b399c7cbf6826b36083484 100644 --- a/runtime/parsec/control/runtime_control.c +++ b/runtime/parsec/control/runtime_control.c @@ -1,10 +1,16 @@ /** * - * @copyright (c) 2009-2015 The University of Tennessee and The University - * of Tennessee Research Foundation. - * All rights reserved. - * @copyright (c) 2012-2015 Inria. All rights reserved. - * @copyright (c) 2012-2015 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, Univ. Bordeaux. All rights reserved. + * @copyright 2012-2017 The University of Tennessee and The University of + * Tennessee Research Foundation. All rights reserved. + * @copyright 2012-2017 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, + * Univ. Bordeaux. All rights reserved. + * + * @file runtime_control.c + * + * @version 1.0.0 + * @author Reazul Hoque + * @author Mathieu Faverge + * @date 2017-01-12 * **/ #include <stdio.h> @@ -15,32 +21,27 @@ #include <mpi.h> #endif -/******************************************************************************* - * Thread rank. - **/ -int RUNTIME_rank(MORSE_context_t *morse) -{ - return 0; -} - /******************************************************************************* * Initialize MORSE **/ -int RUNTIME_init_scheduler(MORSE_context_t *morse, int nworkers, int ncudas, int nthreads_per_worker) +int RUNTIME_init( MORSE_context_t *morse, + int ncpus, + int ncudas, + int nthreads_per_worker ) { int hres = -1, default_ncores = -1; int *argc = (int *)malloc(sizeof(int)); *argc = 0; /* Initializing parsec context */ - if( 0 < nworkers ) { - default_ncores = nworkers; + if( 0 < ncpus ) { + default_ncores = ncpus; } morse->parallel_enabled = MORSE_TRUE; morse->schedopt = (void *)parsec_init(default_ncores, argc, NULL); if(NULL != morse->schedopt) { - morse->nworkers = nworkers; + morse->nworkers = ncpus; morse->nthreads_per_worker = nthreads_per_worker; hres = 0; } @@ -52,7 +53,7 @@ int RUNTIME_init_scheduler(MORSE_context_t *morse, int nworkers, int ncudas, int /******************************************************************************* * Finalize MORSE */ -void RUNTIME_finalize_scheduler(MORSE_context_t *morse) +void RUNTIME_finalize( MORSE_context_t *morse ) { parsec_context_t *parsec = (parsec_context_t*)morse->schedopt; parsec_fini(&parsec); @@ -60,81 +61,86 @@ void RUNTIME_finalize_scheduler(MORSE_context_t *morse) } /******************************************************************************* - * Barrier MORSE. + * To suspend the processing of new tasks by workers **/ -void RUNTIME_barrier(MORSE_context_t *morse) +void RUNTIME_pause( MORSE_context_t *morse ) { - parsec_context_t *parsec = (parsec_context_t*)morse->schedopt; - // This will be a problem with the fake tasks inserted to detect end of DTD algorithms - //parsec_context_wait( parsec ); + (void)morse; return; } /******************************************************************************* - * Set iteration numbers for traces + * This is the symmetrical call to RUNTIME_pause, + * used to resume the workers polling for new tasks. **/ -void RUNTIME_iteration_push( MORSE_context_t *morse, unsigned long iteration ) +void RUNTIME_resume( MORSE_context_t *morse ) { - (void)morse; (void)iteration; + (void)morse; return; } -void RUNTIME_iteration_pop( MORSE_context_t *morse ) + +/******************************************************************************* + * Barrier MORSE. + **/ +void RUNTIME_barrier( MORSE_context_t *morse ) { - (void)morse; + parsec_context_t *parsec = (parsec_context_t*)morse->schedopt; + // This will be a problem with the fake tasks inserted to detect end of DTD algorithms + parsec_context_wait( parsec ); return; } /******************************************************************************* - * To suspend the processing of new tasks by workers + * Display a progress information when executing the tasks **/ -void RUNTIME_pause( MORSE_context_t *morse ) +void RUNTIME_progress( MORSE_context_t *morse ) { (void)morse; return; } /******************************************************************************* - * This is the symmetrical call to RUNTIME_pause, - * used to resume the workers polling for new tasks. + * Thread rank. **/ -void RUNTIME_resume( MORSE_context_t *morse ) +int RUNTIME_thread_rank( MORSE_context_t *morse ) { - (void)morse; - return; + return 0; } /******************************************************************************* - * This returns the rank of this process + * Thread rank. **/ -void RUNTIME_comm_rank( int *rank ) +int RUNTIME_thread_size( MORSE_context_t *morse ) { -#if defined(CHAMELEON_USE_MPI) - MPI_Comm_rank(MPI_COMM_WORLD, rank); -#else - *rank = 0; -#endif - return; + // TODO: fixme + //return vpmap_get_nb_total_threads(); + return 1; } /******************************************************************************* - * This returns the size of the distributed computation + * This returns the rank of this process **/ -void RUNTIME_comm_size( int *size ) +int RUNTIME_comm_rank( MORSE_context_t *morse ) { + int rank = 0; #if defined(CHAMELEON_USE_MPI) - MPI_Comm_size(MPI_COMM_WORLD, size); -#else - *size = 1; + MPI_Comm_rank(MPI_COMM_WORLD, &rank); #endif - return; + + (void)morse; + return rank; } /******************************************************************************* - * This returns the number of workers + * This returns the size of the distributed computation **/ -int RUNTIME_get_thread_nbr() +int RUNTIME_comm_size( MORSE_context_t *morse ) { - // TODO: fixme - //return vpmap_get_nb_total_threads(); - return 0; + int size = 0; +#if defined(CHAMELEON_USE_MPI) + MPI_Comm_size(MPI_COMM_WORLD, &size); +#endif + + (void)morse; + return size; } diff --git a/runtime/parsec/control/runtime_descriptor.c b/runtime/parsec/control/runtime_descriptor.c index 70b38659e3f3277121b4f9fe0a13614b1971f5f8..0af56f510bf44edbe540675efda34171d2906925 100644 --- a/runtime/parsec/control/runtime_descriptor.c +++ b/runtime/parsec/control/runtime_descriptor.c @@ -1,35 +1,43 @@ /** * - * @copyright (c) 2009-2015 The University of Tennessee and The University - * of Tennessee Research Foundation. - * All rights reserved. - * @copyright (c) 2012-2015 Inria. All rights reserved. - * @copyright (c) 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, Univ. Bordeaux. All rights reserved. + * @copyright 2012-2017 The University of Tennessee and The University of + * Tennessee Research Foundation. All rights reserved. + * @copyright 2012-2017 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, + * Univ. Bordeaux. All rights reserved. + * + * @file runtime_descriptor.c + * + * @version 1.0.0 + * @author Reazul Hoque + * @author Mathieu Faverge + * @date 2017-01-12 * **/ #include <stdlib.h> #include "chameleon_parsec.h" #include <parsec/data.h> #include <parsec/datatype.h> -#include <parsec/data_dist/matrix/matrix.h> +//#include <parsec/data_dist/matrix/matrix.h> #include <parsec/arena.h> static int parsec_global_arena_index = 0; -void RUNTIME_user_tag_size(int user_tag_width, int user_tag_sep) { - (void)user_tag_width; - (void)user_tag_sep; +void RUNTIME_comm_set_tag_sizes( int user_tag_width, + int user_tag_sep ) +{ + (void)user_tag_width; + (void)user_tag_sep; } -void *RUNTIME_mat_alloc( size_t size) +void *RUNTIME_malloc( size_t size ) { return malloc(size); } -void RUNTIME_mat_free( void *mat, size_t size) +void RUNTIME_free( void *ptr, size_t size ) { (void)size; - free(mat); + free(ptr); return; } @@ -40,11 +48,12 @@ struct morse_parsec_desc_s { int arena_index; }; -int morse_parsec_get_arena_index(const MORSE_desc_t *desc) { +int +morse_parsec_get_arena_index(const MORSE_desc_t *desc) { return ((morse_parsec_desc_t *)desc->schedopt)->arena_index; } -static void +static inline void morse_parsec_key_to_coordinates(parsec_data_collection_t *data_collection, parsec_data_key_t key, int *m, int *n) { @@ -58,7 +67,7 @@ morse_parsec_key_to_coordinates(parsec_data_collection_t *data_collection, parse *n = _n - mdesc->j / mdesc->nb; } -static parsec_data_key_t +static inline parsec_data_key_t morse_parsec_data_key(parsec_data_collection_t *data_collection, ...) { morse_parsec_desc_t *pdesc = (morse_parsec_desc_t*)data_collection; @@ -79,7 +88,7 @@ morse_parsec_data_key(parsec_data_collection_t *data_collection, ...) return ((n * mdesc->lmt) + m); } -static uint32_t +static inline uint32_t morse_parsec_rank_of(parsec_data_collection_t *data_collection, ...) { morse_parsec_desc_t *pdesc = (morse_parsec_desc_t*)data_collection; @@ -100,7 +109,7 @@ morse_parsec_rank_of(parsec_data_collection_t *data_collection, ...) return mdesc->get_rankof( mdesc, m, n ); } -static uint32_t +static inline uint32_t morse_parsec_rank_of_key(parsec_data_collection_t *data_collection, parsec_data_key_t key) { int m, n; @@ -108,13 +117,13 @@ morse_parsec_rank_of_key(parsec_data_collection_t *data_collection, parsec_data_ return morse_parsec_rank_of(data_collection, m, n); } -static int32_t +static inline int32_t morse_parsec_vpid_of(parsec_data_collection_t *data_collection, ...) { return 0; } -static int32_t +static inline int32_t morse_parsec_vpid_of_key(parsec_data_collection_t *data_collection, parsec_data_key_t key) { int m, n; @@ -122,7 +131,7 @@ morse_parsec_vpid_of_key(parsec_data_collection_t *data_collection, parsec_data_ return morse_parsec_vpid_of(data_collection, m, n); } -static parsec_data_t* +static inline parsec_data_t* morse_parsec_data_of(parsec_data_collection_t *data_collection, ...) { morse_parsec_desc_t *pdesc = (morse_parsec_desc_t*)data_collection; @@ -145,12 +154,12 @@ morse_parsec_data_of(parsec_data_collection_t *data_collection, ...) //assert( data_collection->nodes == 1 ); #endif return parsec_data_create( pdesc->data_map + n * mdesc->lmt + m, data_collection, - morse_parsec_data_key( data_collection, m, n ), - mdesc->get_blkaddr( mdesc, m, n ), - mdesc->bsiz * MORSE_Element_Size(mdesc->dtyp) ); + morse_parsec_data_key( data_collection, m, n ), + mdesc->get_blkaddr( mdesc, m, n ), + mdesc->bsiz * MORSE_Element_Size(mdesc->dtyp) ); } -static parsec_data_t* +static inline parsec_data_t* morse_parsec_data_of_key(parsec_data_collection_t *data_collection, parsec_data_key_t key) { morse_parsec_desc_t *pdesc = (morse_parsec_desc_t*)data_collection; @@ -163,12 +172,12 @@ morse_parsec_data_of_key(parsec_data_collection_t *data_collection, parsec_data_ //assert( data_collection->nodes == 1 ); #endif return parsec_data_create( pdesc->data_map + key, data_collection, key, - mdesc->get_blkaddr( mdesc, m, n ), - mdesc->bsiz * MORSE_Element_Size(mdesc->dtyp) ); + mdesc->get_blkaddr( mdesc, m, n ), + mdesc->bsiz * MORSE_Element_Size(mdesc->dtyp) ); } #ifdef parsec_PROF_TRACE -static int +static inline int morse_parsec_key_to_string(parsec_data_collection_t *data_collection, parsec_data_key_t key, char * buffer, uint32_t buffer_size) { morse_parsec_desc_t *pdesc = (morse_parsec_desc_t*)data_collection; @@ -184,15 +193,12 @@ morse_parsec_key_to_string(parsec_data_collection_t *data_collection, parsec_dat } #endif -void RUNTIME_desc_init( MORSE_desc_t *mdesc ) -{ - (void)mdesc; - return; -} - +/******************************************************************************* + * Create data descriptor + **/ void RUNTIME_desc_create( MORSE_desc_t *mdesc ) { - parsec_data_collection_t *data_collection; + parsec_data_collection_t *data_collection; morse_parsec_desc_t *pdesc; int comm_size; @@ -200,7 +206,7 @@ void RUNTIME_desc_create( MORSE_desc_t *mdesc ) data_collection = (parsec_data_collection_t*)pdesc; /* Super setup */ - RUNTIME_comm_size( &comm_size ); + comm_size = RUNTIME_comm_size( NULL ); data_collection->nodes = comm_size; data_collection->myrank = mdesc->myrank; @@ -240,12 +246,12 @@ void RUNTIME_desc_create( MORSE_desc_t *mdesc ) parsec_datatype_t datatype; switch(mdesc->dtyp) { - case MorseInteger: datatype = parsec_datatype_int32_t; break; - case MorseRealFloat: datatype = parsec_datatype_float_t; break; - case MorseRealDouble: datatype = parsec_datatype_double_t; break; - case MorseComplexFloat: datatype = parsec_datatype_complex_t; break; - case MorseComplexDouble: datatype = parsec_datatype_double_complex_t; break; - default: morse_fatal_error("MORSE_Element_Size", "undefined type"); break; + case MorseInteger: datatype = parsec_datatype_int32_t; break; + case MorseRealFloat: datatype = parsec_datatype_float_t; break; + case MorseRealDouble: datatype = parsec_datatype_double_t; break; + case MorseComplexFloat: datatype = parsec_datatype_complex_t; break; + case MorseComplexDouble: datatype = parsec_datatype_double_complex_t; break; + default: morse_fatal_error("MORSE_Element_Size", "undefined type"); break; } parsec_matrix_add2arena_tile( parsec_dtd_arenas[pdesc->arena_index], datatype, mdesc->mb*mdesc->nb*MORSE_Element_Size(mdesc->dtyp) ); @@ -256,6 +262,9 @@ void RUNTIME_desc_create( MORSE_desc_t *mdesc ) return; } +/******************************************************************************* + * Destroy data descriptor + **/ void RUNTIME_desc_destroy( MORSE_desc_t *mdesc ) { morse_parsec_desc_t *pdesc = (morse_parsec_desc_t*)(mdesc->schedopt); @@ -280,30 +289,49 @@ void RUNTIME_desc_destroy( MORSE_desc_t *mdesc ) return; } -void RUNTIME_desc_submatrix( MORSE_desc_t *desc ) +/******************************************************************************* + * Acquire data + **/ +int RUNTIME_desc_acquire( const MORSE_desc_t *desc ) { (void)desc; - return; + return MORSE_SUCCESS; } -int RUNTIME_desc_acquire( MORSE_desc_t *desc ) +/******************************************************************************* + * Release data + **/ +int RUNTIME_desc_release( const MORSE_desc_t *desc ) { (void)desc; return MORSE_SUCCESS; } -int RUNTIME_desc_release( MORSE_desc_t *desc ) +/******************************************************************************* + * Get data on cpu - Synchronous call + **/ +int RUNTIME_desc_getoncpu( const MORSE_desc_t *desc ) { (void)desc; return MORSE_SUCCESS; } -int RUNTIME_desc_getoncpu( MORSE_desc_t *desc ) +/******************************************************************************* + * Get data on cpu - Asynchronous call + **/ +int RUNTIME_desc_getoncpu_async( const MORSE_desc_t *desc, + MORSE_sequence_t *sequence ) { - (void)desc; + parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(sequence->schedopt); + + parsec_dtd_data_flush_all( PARSEC_dtd_taskpool, (parsec_data_collection_t*)(desc->schedopt) ); + return MORSE_SUCCESS; } +/******************************************************************************* + * Get data addr + **/ void *RUNTIME_desc_getaddr( const MORSE_desc_t *desc, int m, int n ) { assert(0); /* This should not be called because we also need the handle to match the address we need. */ diff --git a/runtime/parsec/control/runtime_options.c b/runtime/parsec/control/runtime_options.c index b9fd469a84262154b5dcfcc3cf65c6e218932de1..035561939da1d28d6f6585a4ea689fa5183f5d44 100644 --- a/runtime/parsec/control/runtime_options.c +++ b/runtime/parsec/control/runtime_options.c @@ -1,10 +1,16 @@ /** * - * @copyright (c) 2009-2015 The University of Tennessee and The University - * of Tennessee Research Foundation. - * All rights reserved. - * @copyright (c) 2012-2015 Inria. All rights reserved. - * @copyright (c) 2012-2015 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, Univ. Bordeaux. All rights reserved. + * @copyright 2012-2017 The University of Tennessee and The University of + * Tennessee Research Foundation. All rights reserved. + * @copyright 2012-2017 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, + * Univ. Bordeaux. All rights reserved. + * + * @file runtime_options.c + * + * @version 1.0.0 + * @author Reazul Hoque + * @author Mathieu Faverge + * @date 2017-01-12 * **/ #include <stdio.h> diff --git a/runtime/parsec/control/runtime_profiling.c b/runtime/parsec/control/runtime_profiling.c index 1e50dac2a1792d9448ad9360f986efc6f6bcd2e4..ed7dbd842fadd42d0697c9e1b4e8682fa0ba92ff 100644 --- a/runtime/parsec/control/runtime_profiling.c +++ b/runtime/parsec/control/runtime_profiling.c @@ -1,14 +1,20 @@ /** * - * @copyright (c) 2009-2015 The University of Tennessee and The University - * of Tennessee Research Foundation. - * All rights reserved. - * @copyright (c) 2012-2015 Inria. All rights reserved. - * @copyright (c) 2012-2015 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, Univ. Bordeaux. All rights reserved. + * @copyright 2012-2017 The University of Tennessee and The University of + * Tennessee Research Foundation. All rights reserved. + * @copyright 2012-2017 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, + * Univ. Bordeaux. All rights reserved. + * + * @file runtime_profiling.c + * + * @version 1.0.0 + * @author Reazul Hoque + * @author Mathieu Faverge + * @date 2017-01-12 * **/ #include "chameleon_parsec.h" -#include "chameleon_timer.h" +#include "chameleon/chameleon_timer.h" double RUNTIME_get_time(){ return CHAMELEON_timer(); @@ -43,3 +49,18 @@ void RUNTIME_kernelprofile_display(void) { morse_warning("RUNTIME_kernelprofile_display(parsec)", "Kernel profiling is not available with PaRSEC\n"); } + +/******************************************************************************* + * Set iteration numbers for traces + **/ +void RUNTIME_iteration_push( MORSE_context_t *morse, unsigned long iteration ) +{ + (void)morse; (void)iteration; + return; +} +void RUNTIME_iteration_pop( MORSE_context_t *morse ) +{ + (void)morse; + return; +} + diff --git a/runtime/parsec/control/runtime_zlocality.c b/runtime/parsec/control/runtime_zlocality.c index 8dc21a47348d293d054edbcd7b9308ebe71e9b23..6b1b97ddac2db608237cf2c7b9d5c52474cad73e 100644 --- a/runtime/parsec/control/runtime_zlocality.c +++ b/runtime/parsec/control/runtime_zlocality.c @@ -1,10 +1,16 @@ /** * - * @copyright (c) 2009-2015 The University of Tennessee and The University - * of Tennessee Research Foundation. - * All rights reserved. - * @copyright (c) 2012-2015 Inria. All rights reserved. - * @copyright (c) 2012-2015 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, Univ. Bordeaux. All rights reserved. + * @copyright 2012-2017 The University of Tennessee and The University of + * Tennessee Research Foundation. All rights reserved. + * @copyright 2012-2017 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, + * Univ. Bordeaux. All rights reserved. + * + * @file runtime_zlocality.c + * + * @version 1.0.0 + * @author Reazul Hoque + * @author Mathieu Faverge + * @date 2017-01-12 * **/ #include "runtime/PaRSEC/include/chameleon_parsec.h" diff --git a/runtime/parsec/control/runtime_zprofiling.c b/runtime/parsec/control/runtime_zprofiling.c index 1bcf7d0dfd518848f2fe2df0f29737b1b447037a..f93c365870819216f5dc30663651f0b7f663cd98 100644 --- a/runtime/parsec/control/runtime_zprofiling.c +++ b/runtime/parsec/control/runtime_zprofiling.c @@ -1,10 +1,16 @@ /** * - * @copyright (c) 2009-2015 The University of Tennessee and The University - * of Tennessee Research Foundation. - * All rights reserved. - * @copyright (c) 2012-2015 Inria. All rights reserved. - * @copyright (c) 2012-2015 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, Univ. Bordeaux. All rights reserved. + * @copyright 2012-2017 The University of Tennessee and The University of + * Tennessee Research Foundation. All rights reserved. + * @copyright 2012-2017 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, + * Univ. Bordeaux. All rights reserved. + * + * @file runtime_zprofiling.c + * + * @version 1.0.0 + * @author Reazul Hoque + * @author Mathieu Faverge + * @date 2017-01-12 * **/ #include "chameleon_parsec.h" diff --git a/runtime/parsec/include/chameleon_parsec.h b/runtime/parsec/include/chameleon_parsec.h index f1b91ebc6e32929220e889daa9848da0336f0889..a75f2ee877ccf372a07b186677f6a6d6cea764f3 100644 --- a/runtime/parsec/include/chameleon_parsec.h +++ b/runtime/parsec/include/chameleon_parsec.h @@ -16,7 +16,6 @@ #include "control/common.h" - struct morse_parsec_desc_s; typedef struct morse_parsec_desc_s morse_parsec_desc_t; diff --git a/runtime/starpu/control/runtime_control.c b/runtime/starpu/control/runtime_control.c index 770c18261568696f102f215b92916a21c1abe717..6034f92aec9d7e7cde421e2aa24da05e908270a6 100644 --- a/runtime/starpu/control/runtime_control.c +++ b/runtime/starpu/control/runtime_control.c @@ -236,15 +236,14 @@ int RUNTIME_thread_size( MORSE_context_t *morse ) **/ int RUNTIME_comm_rank( MORSE_context_t *morse ) { - int rank; + int rank = 0; + #if defined(CHAMELEON_USE_MPI) # if defined(HAVE_STARPU_MPI_COMM_RANK) starpu_mpi_comm_rank( MPI_COMM_WORLD, &rank ); # else MPI_Comm_rank( MPI_COMM_WORLD, &rank ); # endif -#else - rank = 0; #endif (void)morse;