From f46aa3cb85fbaae5ffd07b020229031379617aa1 Mon Sep 17 00:00:00 2001
From: Florent Pruvost <florent.pruvost@inria.fr>
Date: Thu, 16 Mar 2017 16:57:03 +0100
Subject: [PATCH] specific timing tests for simulation mode, only potrf for now

---
 timing/CTestLists.cmake | 117 ++++++++++++++++++++++++----------------
 1 file changed, 70 insertions(+), 47 deletions(-)

diff --git a/timing/CTestLists.cmake b/timing/CTestLists.cmake
index 0a60675da..091f74cfd 100644
--- a/timing/CTestLists.cmake
+++ b/timing/CTestLists.cmake
@@ -2,60 +2,69 @@
 # Check timing/
 #
 
-set(TEST_CMD_shm    --n_range=500:2000:500 --nb=320 )
-set(TEST_CMD_shmgpu --n_range=500:2000:500 --nb=320 --gpus=1)
-set(TEST_CMD_mpi    --n_range=500:2000:500 --nb=320 --p=2)
-set(TEST_CMD_mpigpu --n_range=500:2000:500 --nb=320 --p=2 --gpus=1)
+set(TEST_CMD_shm     --n_range=500:2000:500 --nb=320 )
+set(TEST_CMD_shmgpu  --n_range=500:2000:500 --nb=320 --gpus=1)
+set(TEST_CMD_mpi     --n_range=500:2000:500 --nb=320 --p=2)
+set(TEST_CMD_mpigpu  --n_range=500:2000:500 --nb=320 --p=2 --gpus=1)
+set(TEST_CMD_simushm --n_range=320:320:1    --nb=320 )
+set(TEST_CMD_simugpu --n_range=320:320:1    --nb=320 --gpus=1)
 
 set(MPI_CMD_shm )
 set(MPI_CMD_shmgpu )
 set(MPI_CMD_mpi mpirun -np 4)
 set(MPI_CMD_mpigpu mpirun -np 4)
 
-set( TEST_CATEGORIES shm )
-if (CHAMELEON_USE_CUDA AND CUDA_FOUND)
-   set( TEST_CATEGORIES ${TEST_CATEGORIES} shmgpu )
+if (NOT CHAMELEON_SIMULATION)
+  set( TEST_CATEGORIES shm )
+  if (CHAMELEON_USE_CUDA AND CUDA_FOUND)
+    set( TEST_CATEGORIES ${TEST_CATEGORIES} shmgpu )
+  endif()
+else()
+  set( TEST_CATEGORIES simushm )
+  if (CHAMELEON_USE_CUDA AND CUDA_FOUND)
+    set( TEST_CATEGORIES ${TEST_CATEGORIES} simugpu )
+  endif()
 endif()
 
 set(TESTLIST
-    gels
-    gemm
-    getrf_incpiv
-    getrf_nopiv
-    geqrf
-    gelqf
-    posv
-    potrf
-    potri
-    )
+  gels
+  gemm
+  getrf_incpiv
+  getrf_nopiv
+  geqrf
+  gelqf
+  posv
+  potrf
+  potri
+  )
 
 set(CHAMELEON_PRECISIONS_ZC "c;z")
 set(TESTLIST_ZC
-    sytrf
-    )
+  sytrf
+  )
 
-foreach(cat ${TEST_CATEGORIES})
-    foreach(prec ${RP_CHAMELEON_PRECISIONS})
-        string(TOUPPER ${prec} PREC)
+if (NOT CHAMELEON_SIMULATION)
 
-        if (CHAMELEON_PREC_${PREC})
-            foreach(test ${TESTLIST})
-                add_test(time_${cat}_${prec}${test} ${MPI_CMD_${cat}} ./time_${prec}${test}_tile ${TEST_CMD_${cat}} --check --warmup)
-            endforeach()
-        endif()
+  foreach(cat ${TEST_CATEGORIES})
+    foreach(prec ${RP_CHAMELEON_PRECISIONS})
+      string(TOUPPER ${prec} PREC)
+      if (CHAMELEON_PREC_${PREC})
+        foreach(test ${TESTLIST})
+          add_test(time_${cat}_${prec}${test} ${MPI_CMD_${cat}} ./time_${prec}${test}_tile ${TEST_CMD_${cat}} --check --warmup)
+        endforeach()
+      endif()
     endforeach()
     foreach(prec ${CHAMELEON_PRECISIONS_ZC})
-        string(TOUPPER ${prec} PREC)
-
-        if (CHAMELEON_PREC_${PREC})
-            foreach(test ${TESTLIST_ZC})
-                add_test(time_${cat}_${prec}${test} ${MPI_CMD_${cat}} ./time_${prec}${test}_tile ${TEST_CMD_${cat}} --check --warmup)
-            endforeach()
-        endif()
+      string(TOUPPER ${prec} PREC)
+      if (CHAMELEON_PREC_${PREC})
+        foreach(test ${TESTLIST_ZC})
+          add_test(time_${cat}_${prec}${test} ${MPI_CMD_${cat}} ./time_${prec}${test}_tile ${TEST_CMD_${cat}} --check --warmup)
+        endforeach()
+      endif()
     endforeach()
-endforeach()
+  endforeach()
 
-if (CHAMELEON_USE_MPI AND MPI_C_FOUND)
+  if (CHAMELEON_USE_MPI AND MPI_C_FOUND)
     set( TEST_CATEGORIES mpi )
     set( TEST_CMD_mpi    --p=2 --n_range=2000:2000:1 --nb==32)
     set( TEST_CMD_mpigpu --p=2 --n_range=2000:2000:1 --nb==32 --gpus=1)
@@ -64,17 +73,31 @@ if (CHAMELEON_USE_MPI AND MPI_C_FOUND)
     #    set( TEST_CATEGORIES ${TEST_CATEGORIES} mpigpu )
     #endif()
     set(TESTLIST_MPI
-        potrf
-        )
+      potrf
+      )
     foreach(cat ${TEST_CATEGORIES})
-        foreach(prec ${RP_CHAMELEON_PRECISIONS})
-            string(TOUPPER ${prec} PREC)
+      foreach(prec ${RP_CHAMELEON_PRECISIONS})
+        string(TOUPPER ${prec} PREC)
 
-            if (CHAMELEON_PREC_${PREC})
-                foreach(test ${TESTLIST_MPI})
-                    add_test(time_${cat}_${prec}${test} ${MPI_CMD_${cat}} ./time_${prec}${test}_tile ${TEST_CMD_${cat}} --check --warmup)
-                endforeach()
-            endif()
-        endforeach()
+        if (CHAMELEON_PREC_${PREC})
+          foreach(test ${TESTLIST_MPI})
+            add_test(time_${cat}_${prec}${test} ${MPI_CMD_${cat}} ./time_${prec}${test}_tile ${TEST_CMD_${cat}} --check --warmup)
+          endforeach()
+        endif()
+      endforeach()
     endforeach()
-endif()
+  endif()
+
+else (NOT CHAMELEON_SIMULATION)
+
+  set(RP_CHAMELEON_PRECISIONS_SIMU "s;d")
+  foreach(cat ${TEST_CATEGORIES})
+    foreach(prec ${RP_CHAMELEON_PRECISIONS_SIMU})
+      string(TOUPPER ${prec} PREC)
+      if (CHAMELEON_PREC_${PREC})
+        add_test(time_${cat}_${prec}potrf ${MPI_CMD_${cat}} ./time_${prec}potrf_tile ${TEST_CMD_${cat}})
+      endif()
+    endforeach()
+  endforeach()
+
+endif (NOT CHAMELEON_SIMULATION)
-- 
GitLab