From 0c2a6bd31f4507b4b0ac8bad23e48246c28e1de0 Mon Sep 17 00:00:00 2001
From: Mathieu Faverge <mathieu.faverge@inria.fr>
Date: Mon, 6 Jul 2020 19:15:03 +0200
Subject: [PATCH] Disable TMG requirement when not necessary

---
 CMakeLists.txt                           | 14 +++++++-------
 runtime/parsec/codelets/codelet_zlange.c |  3 ---
 runtime/quark/codelets/codelet_zplssq.c  |  6 +++---
 runtime/starpu/CMakeLists.txt            |  3 ++-
 4 files changed, 12 insertions(+), 14 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3b60a6d5d..939cc192d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -177,7 +177,7 @@ cmake_dependent_option(CHAMELEON_USE_MIGRATE
   "CHAMELEON_USE_MPI" OFF)
 
 cmake_dependent_option(CHAMELEON_USE_MPI_DATATYPES
-  "Enable MPI datatypes wheneve supported by the runtime" ON
+  "Enable MPI datatypes whenever supported by the runtime" ON
   "CHAMELEON_USE_MPI" OFF)
 
 # Enable Cuda kernels if StarPU (only if StarPU or PaRSEC runtime is enabled)
@@ -325,7 +325,7 @@ if(NOT CHAMELEON_SIMULATION)
 
     # CHAMELEON depends on LAPACKE
     #-----------------------------
-    find_package(LAPACKE REQUIRED COMPONENTS TMG)
+    find_package(LAPACKE REQUIRED)
     if(LAPACKE_FOUND)
         if (LAPACKE_INCLUDE_DIRS_DEP)
             include_directories(${LAPACKE_INCLUDE_DIRS_DEP})
@@ -660,6 +660,11 @@ if (NOT CHAMELEON_SIMULATION)
 
 endif()
 
+###############################################################################
+# Runtimes libraries #
+######################
+add_subdirectory(runtime)
+
 ###############################################################################
 # Main library #
 ################
@@ -667,11 +672,6 @@ add_subdirectory(include)
 add_subdirectory(control)
 add_subdirectory(compute)
 
-###############################################################################
-# Runtimes libraries #
-######################
-add_subdirectory(runtime)
-
 ###############################################################################
 # Executables and Tests #
 #########################
diff --git a/runtime/parsec/codelets/codelet_zlange.c b/runtime/parsec/codelets/codelet_zlange.c
index 0b15f19fa..6d1c56501 100644
--- a/runtime/parsec/codelets/codelet_zlange.c
+++ b/runtime/parsec/codelets/codelet_zlange.c
@@ -66,7 +66,6 @@ void INSERT_TASK_zlange(const RUNTIME_option_t *options,
     (void)NB;
 }
 
-#if defined(PRECISION_d) || defined(PRECISION_s)
 static inline int
 CORE_zlange_max_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
@@ -96,5 +95,3 @@ void INSERT_TASK_zlange_max(const RUNTIME_option_t *options,
         PASSED_BY_REF,         RTBLKADDR( B, double, Bm, Bn ), OUTPUT | AFFINITY,
         PARSEC_DTD_ARG_END );
 }
-
-#endif /* defined(PRECISION_d) || defined(PRECISION_s) */
diff --git a/runtime/quark/codelets/codelet_zplssq.c b/runtime/quark/codelets/codelet_zplssq.c
index 8c6317f76..24cf84789 100644
--- a/runtime/quark/codelets/codelet_zplssq.c
+++ b/runtime/quark/codelets/codelet_zplssq.c
@@ -57,12 +57,12 @@ void INSERT_TASK_zplssq( const RUNTIME_option_t *options,
 void CORE_zplssq2_quark(Quark *quark)
 {
     int N;
-    CHAM_tile_t *RESULT;
+    CHAM_tile_t *tileRESULT;
 
     assert( tileRESULT->format & CHAMELEON_TILE_FULLRANK );
 
-    quark_unpack_args_2( quark, N, RESULT );
-    CORE_zplssq2(N, RESULT->mat);
+    quark_unpack_args_2( quark, N, tileRESULT );
+    CORE_zplssq2(N, tileRESULT->mat);
 }
 
 void INSERT_TASK_zplssq2( const RUNTIME_option_t *options, int N,
diff --git a/runtime/starpu/CMakeLists.txt b/runtime/starpu/CMakeLists.txt
index af2095e27..1e5f726cd 100644
--- a/runtime/starpu/CMakeLists.txt
+++ b/runtime/starpu/CMakeLists.txt
@@ -115,7 +115,7 @@ if ( STARPU_FOUND )
     message("-- ${Blue}Add definition HAVE_STARPU_MPI_INTERFACE_DATATYPE_REGISTER${ColourReset}")
   else()
     if( CHAMELEON_USE_MPI_DATATYPES )
-      set( CHAMELEON_USE_MPI_DATATYPES OFF )
+      set( CHAMELEON_USE_MPI_DATATYPES OFF CACHE BOOL "Enable MPI datatypes whenever supported by the runtime" FORCE)
     endif()
   endif()
   check_function_exists(starpu_interface_copy2d HAVE_STARPU_INTERFACE_COPY2D)
@@ -192,6 +192,7 @@ else ( STARPU_FOUND )
       )
     message(FATAL_ERROR "StarPU library is required but has not been found")
   endif()
+  return()
 endif ( STARPU_FOUND )
 
 include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/include )
-- 
GitLab