starpu_parameters.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /* StarPU --- Runtime system for heterogeneous multicore architectures.
  2. *
  3. * Copyright (C) 2011 Université de Bordeaux 1
  4. *
  5. * StarPU is free software; you can redistribute it and/or modify
  6. * it under the terms of the GNU Lesser General Public License as published by
  7. * the Free Software Foundation; either version 2.1 of the License, or (at
  8. * your option) any later version.
  9. *
  10. * StarPU is distributed in the hope that it will be useful, but
  11. * WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  13. *
  14. * See the GNU Lesser General Public License in COPYING.LGPL for more details.
  15. */
  16. #ifndef _STARPU_PARAMETERS_H
  17. #define _STARPU_PARAMETERS_H
  18. /* Parameters which are not worth being added to ./configure options, but
  19. * still interesting to easily change */
  20. /* The dmda scheduling policy uses
  21. *
  22. * alpha * T_computation + beta * T_communication + gamma * Consumption
  23. *
  24. * Here are the default values of alpha, beta, gamma
  25. */
  26. #define _STARPU_DEFAULT_ALPHA 1.0
  27. #define _STARPU_DEFAULT_BETA 1.0
  28. #define _STARPU_DEFAULT_GAMMA 1000.0
  29. /* How many executions a codelet will have to be measured before we
  30. * consider that calibration will provide a value good enough for scheduling */
  31. #define _STARPU_CALIBRATION_MINIMUM 10
  32. /* Assumed relative performance ratios */
  33. /* TODO: benchmark a bit instead */
  34. #define _STARPU_CPU_ALPHA 1.0f
  35. #define _STARPU_CUDA_ALPHA 13.33f
  36. #define _STARPU_OPENCL_ALPHA 12.22f
  37. #define _STARPU_GORDON_ALPHA 6.0f /* XXX this is a random value ... */
  38. #endif /* _STARPU_PARAMETERS_H */