implicit_dependencies.doxy 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /* StarPU --- Runtime system for heterogeneous multicore architectures.
  2. *
  3. * Copyright (C) 2010-2017 CNRS
  4. * Copyright (C) 2009-2011,2014 Université de Bordeaux
  5. * Copyright (C) 2011,2012 Inria
  6. *
  7. * StarPU is free software; you can redistribute it and/or modify
  8. * it under the terms of the GNU Lesser General Public License as published by
  9. * the Free Software Foundation; either version 2.1 of the License, or (at
  10. * your option) any later version.
  11. *
  12. * StarPU is distributed in the hope that it will be useful, but
  13. * WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  15. *
  16. * See the GNU Lesser General Public License in COPYING.LGPL for more details.
  17. */
  18. /*! \defgroup API_Implicit_Data_Dependencies Implicit Data Dependencies
  19. \brief In this section, we describe how StarPU makes it possible to
  20. insert implicit task dependencies in order to enforce sequential data
  21. consistency. When this data consistency is enabled on a specific data
  22. handle, any data access will appear as sequentially consistent from
  23. the application. For instance, if the application submits two tasks
  24. that access the same piece of data in read-only mode, and then a third
  25. task that access it in write mode, dependencies will be added between
  26. the two first tasks and the third one. Implicit data dependencies are
  27. also inserted in the case of data accesses from the application.
  28. \fn void starpu_data_set_default_sequential_consistency_flag(unsigned flag)
  29. \ingroup API_Implicit_Data_Dependencies
  30. Set the default sequential consistency flag. If a non-zero
  31. value is passed, a sequential data consistency will be enforced for
  32. all handles registered after this function call, otherwise it is
  33. disabled. By default, StarPU enables sequential data consistency. It
  34. is also possible to select the data consistency mode of a specific
  35. data handle with the function
  36. starpu_data_set_sequential_consistency_flag().
  37. \fn unsigned starpu_data_get_default_sequential_consistency_flag(void)
  38. \ingroup API_Implicit_Data_Dependencies
  39. Return the default sequential consistency flag
  40. \fn void starpu_data_set_sequential_consistency_flag(starpu_data_handle_t handle, unsigned flag)
  41. \ingroup API_Implicit_Data_Dependencies
  42. Set the data consistency mode associated to a data handle. The
  43. consistency mode set using this function has the priority over the
  44. default mode which can be set with
  45. starpu_data_set_default_sequential_consistency_flag().
  46. \fn unsigned starpu_data_get_sequential_consistency_flag(starpu_data_handle_t handle)
  47. \ingroup API_Implicit_Data_Dependencies
  48. Get the data consistency mode associated to the data handle \p handle
  49. */