StarPU.jl 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. # StarPU --- Runtime system for heterogeneous multicore architectures.
  2. #
  3. # Copyright (C) 2020 Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria
  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. """
  17. __precompile__()
  18. """
  19. module StarPU
  20. import Libdl
  21. using CBinding
  22. include("utils.jl")
  23. const starpu_wrapper_library_name=fstarpu_task_library_name()
  24. include("translate_headers.jl")
  25. if !isfile((@__DIR__)*"/../gen/libstarpu_common.jl") || !isfile((@__DIR__)*"/../gen/libstarpu_api.jl")
  26. starpu_translate_headers()
  27. end
  28. include("../gen/libstarpu_common.jl")
  29. include("../gen/libstarpu_api.jl")
  30. include("globals.jl")
  31. include("compiler/include.jl")
  32. include("linked_list.jl")
  33. include("destructible.jl")
  34. include("perfmodel.jl")
  35. include("data.jl")
  36. include("blas.jl")
  37. include("task.jl")
  38. include("task_dep.jl")
  39. include("init.jl")
  40. # macro
  41. export @starpu_filter
  42. export @starpu_block
  43. export @starpu_async_cl
  44. export @starpu_sync_tasks
  45. # enum / define
  46. export STARPU_CPU
  47. export STARPU_CUDA
  48. export STARPU_CUDA_ASYNC
  49. export STARPU_OPENCL
  50. export STARPU_MAIN_RAM
  51. export StarpuDataFilterFunc
  52. export STARPU_MATRIX_FILTER_VERTICAL_BLOCK, STARPU_MATRIX_FILTER_BLOCK
  53. export STARPU_VECTOR_FILTER_BLOCK
  54. export STARPU_PERFMODEL_INVALID, STARPU_PER_ARCH, STARPU_COMMON
  55. export STARPU_HISTORY_BASED, STARPU_REGRESSION_BASED
  56. export STARPU_NL_REGRESSION_BASED, STARPU_MULTIPLE_REGRESSION_BASED
  57. export starpu_tag_t
  58. export STARPU_NONE,STARPU_R,STARPU_W,STARPU_RW, STARPU_SCRATCH
  59. export STARPU_REDUX,STARPU_COMMUTE, STARPU_SSEND, STARPU_LOCALITY
  60. export STARPU_ACCESS_MODE_MAX
  61. # BLAS
  62. export STARPU_SAXPY
  63. # functions
  64. export starpu_cublas_init
  65. export starpu_init
  66. export starpu_shutdown
  67. export starpu_memory_pin
  68. export starpu_memory_unpin
  69. export starpu_data_access_mode
  70. export starpu_data_acquire_on_node
  71. export starpu_data_release_on_node
  72. export starpu_data_unregister
  73. export starpu_data_register
  74. export starpu_data_get_sub_data
  75. export starpu_data_partition
  76. export starpu_data_unpartition
  77. export starpu_data_map_filters
  78. export starpu_task_wait_for_all
  79. export starpu_task_submit
  80. export starpu_task_end_dep_add
  81. export starpu_task_end_dep_release
  82. export starpu_task_declare_deps
  83. export starpu_task_declare_end_deps
  84. export starpu_task_wait_for_n_submitted
  85. export starpu_task_destroy
  86. export starpu_tag_wait
  87. export starpu_tag_notify_from_apps
  88. export starpu_iteration_pop
  89. export starpu_iteration_push
  90. export starpu_tag_declare_deps
  91. export starpu_task
  92. export starpu_task_wait
  93. export starpu_codelet
  94. export starpu_perfmodel
  95. export starpu_perfmodel_type
  96. export starpu_translate_headers
  97. export starpu_data_get_default_sequential_consistency_flag
  98. export starpu_data_set_default_sequential_consistency_flag
  99. export starpu_data_get_sequential_consistency_flag
  100. export starpu_data_set_sequential_consistency_flag
  101. end