From 6b765363fc9685a3f5d9db727f28df5244d39325 Mon Sep 17 00:00:00 2001
From: Florent Pruvost <florent.pruvost@inria.fr>
Date: Thu, 20 Nov 2014 14:42:45 +0000
Subject: [PATCH] add sytrf_nopiv routines to enable some StarPU features
 (locality, etc)

---
 include/morse_kernels.h             | 4 +++-
 runtime/starpu/control/zlocality.c  | 4 ++++
 runtime/starpu/control/zprofiling.c | 2 ++
 runtime/starpu/include/codelet_z.h  | 2 +-
 4 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/include/morse_kernels.h b/include/morse_kernels.h
index 994f6f435..6f7e2de8d 100644
--- a/include/morse_kernels.h
+++ b/include/morse_kernels.h
@@ -29,9 +29,12 @@
 typedef enum morse_kernel_e {
 
   MORSE_GEMM,
+#if defined(PRECISION_z) || defined(PRECISION_c)
   MORSE_HEMM,
   MORSE_HER2K,
   MORSE_HERK,
+  MORSE_SYTRF_NOPIV,
+#endif
   MORSE_SYMM,
   MORSE_SYR2K,
   MORSE_SYRK,
@@ -49,7 +52,6 @@ typedef enum morse_kernel_e {
   MORSE_ORMQR,
   MORSE_POTRF,
   MORSE_SSSSM,
-  MORSE_SYTRF_NOPIV,
   MORSE_TRTRI,
   MORSE_TSLQT,
   MORSE_TSMLQ,
diff --git a/runtime/starpu/control/zlocality.c b/runtime/starpu/control/zlocality.c
index 5d5d70680..bc82227cb 100644
--- a/runtime/starpu/control/zlocality.c
+++ b/runtime/starpu/control/zlocality.c
@@ -39,6 +39,7 @@ void RUNTIME_zlocality_allrestrict( uint32_t where )
     cl_zhemm_restrict_where( where );
     cl_zher2k_restrict_where( where );
     cl_zherk_restrict_where( where );
+    cl_zsytrf_nopiv_restrict_where( where );
 #endif
     cl_zsymm_restrict_where( where );
     cl_zsyr2k_restrict_where( where );
@@ -93,6 +94,7 @@ void RUNTIME_zlocality_onerestrict( MORSE_kernel_t kernel, uint32_t where )
     case MORSE_HEMM:   cl_zhemm_restrict_where( where );  break;
     case MORSE_HER2K:  cl_zher2k_restrict_where( where ); break;
     case MORSE_HERK:   cl_zherk_restrict_where( where );  break;
+    case MORSE_SYTRF_NOPIV: cl_zsytrf_nopiv__restrict_where( where );  break;
 #endif
     case MORSE_SYMM:   cl_zhemm_restrict_where( where );  break;
     case MORSE_SYR2K:  cl_zher2k_restrict_where( where ); break;
@@ -149,6 +151,7 @@ void RUNTIME_zlocality_allrestore( )
     cl_zhemm_restore_where();
     cl_zher2k_restore_where();
     cl_zherk_restore_where();
+    cl_zsytrf_nopiv_restore_where();
 #endif
     cl_zsymm_restore_where();
     cl_zsyr2k_restore_where();
@@ -202,6 +205,7 @@ void RUNTIME_zlocality_onerestore( MORSE_kernel_t kernel )
     case MORSE_HEMM:   cl_zhemm_restore_where();  break;
     case MORSE_HER2K:  cl_zher2k_restore_where(); break;
     case MORSE_HERK:   cl_zherk_restore_where();  break;
+    case MORSE_SYTRF_NOPIV: cl_zsytrf_nopiv_restore_where();  break;
 #endif
     case MORSE_SYMM:   cl_zhemm_restore_where();  break;
     case MORSE_SYR2K:  cl_zher2k_restore_where(); break;
diff --git a/runtime/starpu/control/zprofiling.c b/runtime/starpu/control/zprofiling.c
index cf09650e0..9db1d2f75 100644
--- a/runtime/starpu/control/zprofiling.c
+++ b/runtime/starpu/control/zprofiling.c
@@ -36,6 +36,7 @@ void RUNTIME_zdisplay_allprofile()
     profiling_display_zhemm_info();
     profiling_display_zher2k_info();
     profiling_display_zherk_info();
+    profiling_display_zsytrf_nopiv_info();
 #endif
     profiling_display_zsymm_info();
     profiling_display_zsyr2k_info();
@@ -75,6 +76,7 @@ void RUNTIME_zdisplay_oneprofile( MORSE_kernel_t kernel )
     case MORSE_HEMM:         profiling_display_zhemm_info();         break;
     case MORSE_HER2K:        profiling_display_zher2k_info();        break;
     case MORSE_HERK:         profiling_display_zherk_info();         break;
+    case MORSE_SYTRF_NOPIV:  profiling_display_zsytrf_nopiv_info();  break;
 #endif
     case MORSE_SYMM:         profiling_display_zsymm_info();         break;
     case MORSE_SYR2K:        profiling_display_zsyr2k_info();        break;
diff --git a/runtime/starpu/include/codelet_z.h b/runtime/starpu/include/codelet_z.h
index b48536030..dab8e8557 100644
--- a/runtime/starpu/include/codelet_z.h
+++ b/runtime/starpu/include/codelet_z.h
@@ -79,7 +79,6 @@ ZCODELETS_HEADER(plssq2)
 ZCODELETS_HEADER(potrf)
 ZCODELETS_HEADER(ssssm)
 ZCODELETS_HEADER(syssq)
-ZCODELETS_HEADER(sytrf_nopiv)
 ZCODELETS_HEADER(trasm)
 ZCODELETS_HEADER(trssq)
 ZCODELETS_HEADER(trtri)
@@ -114,6 +113,7 @@ ZCODELETS_HEADER(plrnt)
 ZCODELETS_HEADER(hessq)
 ZCODELETS_HEADER(lanhe)
 ZCODELETS_HEADER(plghe)
+ZCODELETS_HEADER(sytrf_nopiv)
 #endif
 ZCODELETS_HEADER(plgsy)
 
-- 
GitLab