/* StarPU --- Runtime system for heterogeneous multicore architectures. * * Copyright (C) 2010-2020 Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria * * StarPU is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or (at * your option) any later version. * * StarPU is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * * See the GNU Lesser General Public License in COPYING.LGPL for more details. */ #include #include "../helper.h" /* * Try various values for STARPU_WORKERS_CPUID, checking that the * expected binding does happen */ #if !defined(STARPU_USE_CPU) || !defined(STARPU_HAVE_HWLOC) #warning no cpu are available. Skipping test int main(void) { return STARPU_TEST_SKIPPED; } #else #include #ifdef STARPU_QUICK_CHECK #define CPUSTEP 8 #define NB_TESTS 1 #else #define CPUSTEP 1 #define NB_TESTS 5 #endif int nhwpus; long workers_cpuid[STARPU_NMAXWORKERS]; int workers_id[STARPU_NMAXWORKERS]; static int check_workers_mapping(long *cpuid, int *workerids, int nb_workers) { int i; for (i=0; i STARPU_NMAXWORKERS) nhwpus = STARPU_NMAXWORKERS; for (i=0; i