matmul_pragma2.c 1.1 KB

123456789101112131415161718192021222324252627282930
  1. /* StarPU --- Runtime system for heterogeneous multicore architectures.
  2. *
  3. * Copyright (C) 2010-2013 Centre National de la Recherche Scientifique
  4. * Copyright (C) 2010-2013 Université de Bordeaux 1
  5. *
  6. * StarPU is free software; you can redistribute it and/or modify
  7. * it under the terms of the GNU Lesser General Public License as published by
  8. * the Free Software Foundation; either version 2.1 of the License, or (at
  9. * your option) any later version.
  10. *
  11. * StarPU is distributed in the hope that it will be useful, but
  12. * WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  14. *
  15. * See the GNU Lesser General Public License in COPYING.LGPL for more details.
  16. */
  17. //! [To be included]
  18. /* Use the `task' attribute only when StarPU's GCC plug-in
  19. is available. */
  20. #ifdef STARPU_GCC_PLUGIN
  21. # define __task __attribute__ ((task))
  22. #else
  23. # define __task
  24. #endif
  25. static void matmul (const float *A, const float *B, float *C,
  26. unsigned nx, unsigned ny, unsigned nz) __task;
  27. //! [To be included]