diff --git a/runtime/openmp/control/runtime_context.c b/runtime/openmp/control/runtime_context.c index f4777c74e2fc4e22cde4fcdb71f361ca7898ecd9..19dded3962ab770e84d887ae7f25cd12cc633c8e 100644 --- a/runtime/openmp/control/runtime_context.c +++ b/runtime/openmp/control/runtime_context.c @@ -42,18 +42,21 @@ void RUNTIME_context_destroy( CHAM_context_t *chamctxt ) /** * */ -void RUNTIME_enable( int lever ) +void RUNTIME_enable( void *runtime_ctxt, int lever ) { switch (lever) { - case CHAMELEON_PROFILING_MODE: - fprintf(stderr, "Profiling is not available with OpenMP\n"); - break; - case CHAMELEON_BOUND: - fprintf(stderr, "Bound computation is not available with OpenMP\n"); - break; - default: - return; + case CHAMELEON_DAG: + fprintf(stderr, "DAG is not available with OpenMP\n"); + break; + case CHAMELEON_PROFILING_MODE: + fprintf(stderr, "Profiling is not available with OpenMP\n"); + break; + case CHAMELEON_BOUND: + fprintf(stderr, "Bound computation is not available with OpenMP\n"); + break; + default: + return; } return; } @@ -61,18 +64,21 @@ void RUNTIME_enable( int lever ) /** * */ -void RUNTIME_disable( int lever ) +void RUNTIME_disable( void *runtime_ctxt, int lever ) { switch (lever) { - case CHAMELEON_PROFILING_MODE: - fprintf(stderr, "Profiling is not available with OpenMP\n"); - break; - case CHAMELEON_BOUND: - fprintf(stderr, "Bound computation is not available with OpenMP\n"); - break; - default: - return; + case CHAMELEON_DAG: + fprintf(stderr, "DAG is not available with OpenMP\n"); + break; + case CHAMELEON_PROFILING_MODE: + fprintf(stderr, "Profiling is not available with OpenMP\n"); + break; + case CHAMELEON_BOUND: + fprintf(stderr, "Bound computation is not available with OpenMP\n"); + break; + default: + return; } return; } diff --git a/runtime/parsec/control/runtime_context.c b/runtime/parsec/control/runtime_context.c index 6762593839ed4144593b7e1c958ab61f9b249fb8..aae3b7831dbe297009886df17e2ed819b4c17121 100644 --- a/runtime/parsec/control/runtime_context.c +++ b/runtime/parsec/control/runtime_context.c @@ -42,11 +42,18 @@ void RUNTIME_context_destroy( CHAM_context_t *chamctxt ) /** * */ -void RUNTIME_enable(int lever) +void RUNTIME_enable( void *runtime_ctxt, int lever ) { switch (lever) { + case CHAMELEON_DAG: + fprintf(stderr, "DAG is not available with PaRSEC\n"); + break; case CHAMELEON_PROFILING_MODE: + parsec_profiling_start(); + break; + case CHAMELEON_BOUND: + fprintf(stderr, "Bound computation is not available with Quark\n"); break; default: return; @@ -57,11 +64,18 @@ void RUNTIME_enable(int lever) /** * */ -void RUNTIME_disable(int lever) +void RUNTIME_disable( void *runtime_ctxt, int lever ) { switch (lever) { + case CHAMELEON_DAG: + fprintf(stderr, "DAG is not available with PaRSEC\n"); + break; case CHAMELEON_PROFILING_MODE: + parsec_profiling_stop(); + break; + case CHAMELEON_BOUND: + fprintf(stderr, "Bound computation is not available with PaRSEC\n"); break; default: return; diff --git a/runtime/quark/control/runtime_context.c b/runtime/quark/control/runtime_context.c index e3e2cac3513c95d357c0cf8c7dab15c50dd5ffe5..93868c6fc1921f7f0a35c0801efbb65644bec1ef 100644 --- a/runtime/quark/control/runtime_context.c +++ b/runtime/quark/control/runtime_context.c @@ -42,18 +42,22 @@ void RUNTIME_context_destroy( CHAM_context_t *chamctxt ) /** * */ -void RUNTIME_enable( int lever ) +void RUNTIME_enable( void *runtime_ctxt, int lever ) { switch (lever) { - case CHAMELEON_PROFILING_MODE: - fprintf(stderr, "Profiling is not available with Quark\n"); - break; - case CHAMELEON_BOUND: - fprintf(stderr, "Bound computation is not available with Quark\n"); - break; - default: - return; + case CHAMELEON_DAG: + QUARK_Barrier( runtime_ctxt ); + QUARK_DOT_DAG_Enable( runtime_ctxt, 1 ); + break; + case CHAMELEON_PROFILING_MODE: + fprintf(stderr, "Profiling is not available with Quark\n"); + break; + case CHAMELEON_BOUND: + fprintf(stderr, "Bound computation is not available with Quark\n"); + break; + default: + return; } return; } @@ -61,18 +65,22 @@ void RUNTIME_enable( int lever ) /** * */ -void RUNTIME_disable( int lever ) +void RUNTIME_disable( void *runtime_ctxt, int lever ) { switch (lever) { - case CHAMELEON_PROFILING_MODE: - fprintf(stderr, "Profiling is not available with Quark\n"); - break; - case CHAMELEON_BOUND: - fprintf(stderr, "Bound computation is not available with Quark\n"); - break; - default: - return; + case CHAMELEON_DAG: + QUARK_Barrier( runtime_ctxt ); + QUARK_DOT_DAG_Enable( runtime_ctxt, 0 ); + break; + case CHAMELEON_PROFILING_MODE: + fprintf(stderr, "Profiling is not available with Quark\n"); + break; + case CHAMELEON_BOUND: + fprintf(stderr, "Bound computation is not available with Quark\n"); + break; + default: + return; } return; } diff --git a/runtime/starpu/control/runtime_context.c b/runtime/starpu/control/runtime_context.c index 71272e934c3f4d87cf400f556c6fa86bf33413fe..2bf597b24c4d2f2a1a8f5003f6a1a5e6761c5de5 100644 --- a/runtime/starpu/control/runtime_context.c +++ b/runtime/starpu/control/runtime_context.c @@ -69,18 +69,21 @@ void RUNTIME_context_destroy( CHAM_context_t *chamctxt ) /** * */ -void RUNTIME_enable( int lever ) +void RUNTIME_enable( void *runtime_ctxt, int lever ) { switch (lever) { - case CHAMELEON_PROFILING_MODE: - starpu_profiling_status_set(STARPU_PROFILING_ENABLE); - break; - case CHAMELEON_BOUND: - starpu_bound_start(0, 0); - break; - default: - return; + case CHAMELEON_DAG: + fprintf(stderr, "StarPU is providing DAG generation through tracing support (CHAMELEON_PROFILING_MODE)\n"); + break; + case CHAMELEON_PROFILING_MODE: + starpu_profiling_status_set(STARPU_PROFILING_ENABLE); + break; + case CHAMELEON_BOUND: + starpu_bound_start(0, 0); + break; + default: + return; } return; } @@ -88,18 +91,21 @@ void RUNTIME_enable( int lever ) /** * */ -void RUNTIME_disable( int lever ) +void RUNTIME_disable( void *runtime_ctxt, int lever ) { switch (lever) { - case CHAMELEON_PROFILING_MODE: - starpu_profiling_status_set(STARPU_PROFILING_DISABLE); - break; - case CHAMELEON_BOUND: - starpu_bound_stop(); - break; - default: - return; + case CHAMELEON_DAG: + fprintf(stderr, "StarPU is providing DAG generation through tracing support (CHAMELEON_PROFILING_MODE)\n"); + break; + case CHAMELEON_PROFILING_MODE: + starpu_profiling_status_set(STARPU_PROFILING_DISABLE); + break; + case CHAMELEON_BOUND: + starpu_bound_stop(); + break; + default: + return; } return; }