From af648c574aa20a9d17b7097c6fc116c0c10644d6 Mon Sep 17 00:00:00 2001
From: Mathieu Faverge <mathieu.faverge@inria.fr>
Date: Wed, 28 Jul 2021 12:38:59 +0200
Subject: [PATCH] runtime: Fix returned value by RUNTIME_Init

---
 runtime/openmp/control/runtime_control.c |  3 +--
 runtime/parsec/control/runtime_control.c |  7 ++++---
 runtime/quark/control/runtime_control.c  |  4 ++--
 runtime/starpu/codelets/codelet_zgemm.c  |  2 +-
 runtime/starpu/control/runtime_control.c | 20 ++++++++++++--------
 5 files changed, 20 insertions(+), 16 deletions(-)

diff --git a/runtime/openmp/control/runtime_control.c b/runtime/openmp/control/runtime_control.c
index 54f5f2e36..dd4491153 100644
--- a/runtime/openmp/control/runtime_control.c
+++ b/runtime/openmp/control/runtime_control.c
@@ -31,7 +31,6 @@ int RUNTIME_init( CHAM_context_t *chamctxt,
                   int ncudas,
                   int nthreads_per_worker )
 {
-    int hres = 0;
     if ( ncudas > 0 ) {
         chameleon_warning( "RUNTIME_init_scheduler(OpenMP)", "GPUs are not supported for now");
     }
@@ -43,7 +42,7 @@ int RUNTIME_init( CHAM_context_t *chamctxt,
     chamctxt->nworkers = ncpus;
     chamctxt->nthreads_per_worker = nthreads_per_worker;
 
-    return hres;
+    return CHAMELEON_SUCCESS;
 }
 
 /**
diff --git a/runtime/parsec/control/runtime_control.c b/runtime/parsec/control/runtime_control.c
index e1e38570f..e673bdcef 100644
--- a/runtime/parsec/control/runtime_control.c
+++ b/runtime/parsec/control/runtime_control.c
@@ -34,7 +34,8 @@ int RUNTIME_init( CHAM_context_t *chamctxt,
                   int ncudas,
                   int nthreads_per_worker )
 {
-    int hres = -1, default_ncores = -1;
+    int hres = CHAMELEON_ERR_NOT_INITIALIZED;
+    int default_ncores = -1;
     int *argc = (int *)malloc(sizeof(int));
     *argc = 0;
 
@@ -45,10 +46,10 @@ int RUNTIME_init( CHAM_context_t *chamctxt,
     chamctxt->parallel_enabled = CHAMELEON_TRUE;
     chamctxt->schedopt = (void *)parsec_init(default_ncores, argc, NULL);
 
-    if(NULL != chamctxt->schedopt) {
+    if ( NULL != chamctxt->schedopt ) {
         chamctxt->nworkers = ncpus;
         chamctxt->nthreads_per_worker = nthreads_per_worker;
-        hres = 0;
+        hres = CHAMELEON_SUCCESS;
     }
 
     free(argc);
diff --git a/runtime/quark/control/runtime_control.c b/runtime/quark/control/runtime_control.c
index f6475dc03..21ba5cc4e 100644
--- a/runtime/quark/control/runtime_control.c
+++ b/runtime/quark/control/runtime_control.c
@@ -32,7 +32,7 @@ int RUNTIME_init( CHAM_context_t *chamctxt,
                   int ncudas,
                   int nthreads_per_worker )
 {
-    int hres = -1;
+    int hres = CHAMELEON_ERR_NOT_INITIALIZED;
     if ( ncudas > 0 ) {
         chameleon_warning( "RUNTIME_init_scheduler(quark)", "GPUs are not supported for now");
     }
@@ -46,7 +46,7 @@ int RUNTIME_init( CHAM_context_t *chamctxt,
     if(NULL != chamctxt->schedopt) {
         chamctxt->nworkers = ncpus;
         chamctxt->nthreads_per_worker = nthreads_per_worker;
-        hres = 0;
+        hres = CHAMELEON_SUCCESS;
     }
 
     return hres;
diff --git a/runtime/starpu/codelets/codelet_zgemm.c b/runtime/starpu/codelets/codelet_zgemm.c
index ccf375fdf..39d242c01 100644
--- a/runtime/starpu/codelets/codelet_zgemm.c
+++ b/runtime/starpu/codelets/codelet_zgemm.c
@@ -137,7 +137,7 @@ void INSERT_TASK_zgemm( const RUNTIME_option_t *options,
     CHAMELEON_ACCESS_RW(C, Cm, Cn);
     CHAMELEON_END_ACCESS_DECLARATION;
 
-    /* Callback fro profiling information */
+    /* Callback for profiling information */
     callback = options->profiling ? cl_zgemm_callback : NULL;
 
     /* Fix the worker id */
diff --git a/runtime/starpu/control/runtime_control.c b/runtime/starpu/control/runtime_control.c
index 5f6ff018e..4cce08868 100644
--- a/runtime/starpu/control/runtime_control.c
+++ b/runtime/starpu/control/runtime_control.c
@@ -33,7 +33,8 @@
  */
 static int chameleon_starpu_init( starpu_conf_t *conf )
 {
-    int hres;
+    int hres = CHAMELEON_SUCCESS;
+    int rc;
 
 #if defined(STARPU_USE_FXT)
     starpu_fxt_autostart_profiling(0);
@@ -48,21 +49,23 @@ static int chameleon_starpu_init( starpu_conf_t *conf )
 #  endif
 
 #  if defined(HAVE_STARPU_MPI_INIT_CONF)
-        hres = starpu_mpi_init_conf(NULL, NULL, !flag, MPI_COMM_WORLD, conf);
+        rc = starpu_mpi_init_conf(NULL, NULL, !flag, MPI_COMM_WORLD, conf);
 #  else
-        hres = starpu_init(conf);
-        if (hres < 0) {
-            return hres;
+        rc = starpu_init(conf);
+        if (rc < 0) {
+            return CHAMELEON_ERR_NOT_INITIALIZED;
         }
         starpu_mpi_init(NULL, NULL, !flag);
 #  endif
     }
 #else
 
-    hres = starpu_init(conf);
+    rc = starpu_init(conf);
 
 #endif
-
+    if ( rc == -ENODEV ) {
+        hres = CHAMELEON_ERR_NOT_INITIALIZED;
+    }
     return hres;
 }
 
@@ -72,7 +75,8 @@ int RUNTIME_init( CHAM_context_t *chamctxt,
                   int nthreads_per_worker )
 {
     starpu_conf_t *conf = (starpu_conf_t*)(chamctxt->schedopt);
-    int hres = -1;
+    int hres = CHAMELEON_ERR_NOT_INITIALIZED;
+    int rc = 0;
 
     /* StarPU was already initialized by an external library */
     if (conf == NULL) {
-- 
GitLab