blas_model.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /*
  2. * StarPU
  3. * Copyright (C) Université Bordeaux 1, CNRS 2008-2010 (see AUTHORS file)
  4. *
  5. * This program 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. * This program 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 __BLAS_MODEL_H__
  17. #define __BLAS_MODEL_H__
  18. #include <starpu.h>
  19. double gemm_cost(starpu_buffer_descr *descr);
  20. static struct starpu_perfmodel_t starpu_sgemm_model = {
  21. .type = STARPU_HISTORY_BASED,
  22. #ifdef STARPU_ATLAS
  23. .symbol = "sgemm_atlas"
  24. #elif defined(STARPU_GOTO)
  25. .symbol = "sgemm_goto"
  26. #else
  27. .symbol = "sgemm"
  28. #endif
  29. };
  30. static struct starpu_perfmodel_t starpu_sgemm_model_common = {
  31. .cost_model = gemm_cost,
  32. .type = STARPU_COMMON,
  33. };
  34. static struct starpu_perfmodel_t starpu_dgemm_model = {
  35. .type = STARPU_HISTORY_BASED,
  36. #ifdef STARPU_ATLAS
  37. .symbol = "dgemm_atlas"
  38. #elif defined(STARPU_GOTO)
  39. .symbol = "dgemm_goto"
  40. #else
  41. .symbol = "dgemm"
  42. #endif
  43. };
  44. static struct starpu_perfmodel_t starpu_dgemm_model_common = {
  45. .cost_model = gemm_cost,
  46. .type = STARPU_COMMON,
  47. };
  48. #endif // __BLAS_MODEL_H__