diff --git a/CMakeLists.txt b/CMakeLists.txt index 939cc192d8b3984f3fb71052fc24553830a89f1c..f6bf03d05860d84544e76aebd80ee9962d6534f3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -224,6 +224,10 @@ if(CHAMELEON_SCHED_STARPU) if(CHAMELEON_ENABLE_PRUNING_STATS) add_definitions(-DCHAMELEON_ENABLE_PRUNING_STATS) endif(CHAMELEON_ENABLE_PRUNING_STATS) + + cmake_dependent_option(CHAMELEON_SIMULATION_EXTENDED + "Enable non GPU kernels to be simulated on GPU" OFF + "CHAMELEON_SIMULATION" OFF) endif() # Initially we need to generate files for different precisions diff --git a/include/chameleon/config.h.in b/include/chameleon/config.h.in index 10eb9136608e47c242bb7e4ad553b2b7531ca7e5..0ad3b485bcef131531d70a27a5471ef49bf7f060 100644 --- a/include/chameleon/config.h.in +++ b/include/chameleon/config.h.in @@ -50,6 +50,7 @@ /* Simulation */ #cmakedefine CHAMELEON_SIMULATION +#cmakedefine CHAMELEON_SIMULATION_EXTENDED /* getopt */ #cmakedefine CHAMELEON_HAVE_GETOPT_H diff --git a/runtime/starpu/codelets/codelet_zpotrf.c b/runtime/starpu/codelets/codelet_zpotrf.c index 35edf5234888074001c5ef18933b8259ae931219..f99cd3ce6c4bca4a5ee12873114d6a480619d34b 100644 --- a/runtime/starpu/codelets/codelet_zpotrf.c +++ b/runtime/starpu/codelets/codelet_zpotrf.c @@ -52,7 +52,11 @@ static void cl_zpotrf_cpu_func(void *descr[], void *cl_arg) /* * Codelet definition */ -CODELETS_CPU(zpotrf, cl_zpotrf_cpu_func) +#if defined(CHAMELEON_SIMULATION) && defined(CHAMELEON_SIMULATION_EXTENDED) +CODELETS( zpotrf, cl_zpotrf_cpu_func, cl_zpotrf_cuda_func, STARPU_CUDA_ASYNC ) +#else +CODELETS_CPU( zpotrf, cl_zpotrf_cpu_func ) +#endif /** *