12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- void scal_cpu_func(void *buffers[], void *_args)
- {
- unsigned i;
- float *factor = _args;
- struct starpu_vector_interface *vector = buffers[0];
- unsigned n = STARPU_VECTOR_GET_NX(vector);
- float *val = (float *)STARPU_VECTOR_GET_PTR(vector);
- #pragma omp parallel for num_threads(starpu_combined_worker_get_size())
- for (i = 0; i < n; i++)
- val[i] *= *factor;
- }
- static struct starpu_codelet cl =
- {
- .modes = { STARPU_RW },
- .where = STARPU_CPU,
- .type = STARPU_FORKJOIN,
- .max_parallelism = INT_MAX,
- .cpu_funcs = {scal_cpu_func},
- .cpu_funcs_name = {"scal_cpu_func"},
- .nbuffers = 1,
- };
|