I bet that can_execute() always returns true. This fixes a bug introduced in c0e4dabb ("Enable CPU code on MIC/SCC").
@@ -58,7 +58,7 @@ static int cublas_version;
static int can_execute(unsigned workerid, struct starpu_task *task, unsigned nimpl)
{
enum starpu_worker_archtype type = starpu_worker_get_type(workerid);
- if (type == STARPU_CPU_WORKER || type == STARPU_OPENCL_WORKER || type == STARPU_MIC_WORKER || STARPU_SCC_WORKER)
+ if (type == STARPU_CPU_WORKER || type == STARPU_OPENCL_WORKER || type == STARPU_MIC_WORKER || type == STARPU_SCC_WORKER)
return 1;
#ifdef STARPU_USE_CUDA