StarPU.jl 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  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(joinpath(fstarpu_build_dir(), "julia/gen/libstarpu_common.jl")) || !isfile(joinpath(fstarpu_build_dir(), "julia/gen/libstarpu_api.jl")) ||
  26. mtime(joinpath(@__FILE__, "translate_headers.jl")) > mtime(joinpath(fstarpu_build_dir(), "julia/gen/libstarpu_api.jl"))
  27. starpu_translate_headers()
  28. end
  29. include(joinpath(fstarpu_build_dir(), "julia/gen/libstarpu_common.jl"))
  30. include(joinpath(fstarpu_build_dir(), "julia/gen/libstarpu_api.jl"))
  31. include("globals.jl")
  32. include("compiler/include.jl")
  33. include("linked_list.jl")
  34. include("destructible.jl")
  35. include("perfmodel.jl")
  36. include("data.jl")
  37. include("blas.jl")
  38. include("task.jl")
  39. include("task_dep.jl")
  40. include("init.jl")
  41. # macro
  42. export @starpu_filter
  43. export @starpu_block
  44. export @starpu_async_cl
  45. export @starpu_sync_tasks
  46. # enum / define
  47. export STARPU_CPU
  48. export STARPU_CUDA
  49. export STARPU_CUDA_ASYNC
  50. export STARPU_OPENCL
  51. export STARPU_MAIN_RAM
  52. export StarpuDataFilterFunc
  53. export STARPU_MATRIX_FILTER_VERTICAL_BLOCK, STARPU_MATRIX_FILTER_BLOCK
  54. export STARPU_VECTOR_FILTER_BLOCK
  55. export STARPU_PERFMODEL_INVALID, STARPU_PER_ARCH, STARPU_COMMON
  56. export STARPU_HISTORY_BASED, STARPU_REGRESSION_BASED
  57. export STARPU_NL_REGRESSION_BASED, STARPU_MULTIPLE_REGRESSION_BASED
  58. export starpu_tag_t
  59. export STARPU_NONE,STARPU_R,STARPU_W,STARPU_RW, STARPU_SCRATCH
  60. export STARPU_REDUX,STARPU_COMMUTE, STARPU_SSEND, STARPU_LOCALITY
  61. export STARPU_ACCESS_MODE_MAX
  62. # BLAS
  63. export STARPU_SAXPY
  64. # functions
  65. export starpu_cublas_init
  66. export starpu_init
  67. export starpu_shutdown
  68. export starpu_memory_pin
  69. export starpu_memory_unpin
  70. export starpu_data_access_mode
  71. export starpu_data_acquire_on_node
  72. export starpu_data_release_on_node
  73. export starpu_data_unregister
  74. export starpu_data_register
  75. export starpu_data_get_sub_data
  76. export starpu_data_partition
  77. export starpu_data_unpartition
  78. export starpu_data_map_filters
  79. export starpu_data_wont_use
  80. export starpu_task_insert
  81. export starpu_task_wait_for_all
  82. export starpu_task_submit
  83. export starpu_task_end_dep_add
  84. export starpu_task_end_dep_release
  85. export starpu_task_declare_deps
  86. export starpu_task_declare_end_deps
  87. export starpu_task_wait_for_n_submitted
  88. export starpu_task_destroy
  89. export starpu_tag_remove
  90. export starpu_tag_wait
  91. export starpu_tag_notify_from_apps
  92. export starpu_iteration_pop
  93. export starpu_iteration_push
  94. export starpu_tag_declare_deps
  95. export starpu_task
  96. export starpu_task_wait
  97. export starpu_codelet
  98. export starpu_perfmodel
  99. export starpu_perfmodel_type
  100. export starpu_translate_headers
  101. export starpu_data_get_default_sequential_consistency_flag
  102. export starpu_data_set_default_sequential_consistency_flag
  103. export starpu_data_get_sequential_consistency_flag
  104. export starpu_data_set_sequential_consistency_flag
  105. export starpu_worker_get_count
  106. export starpu_cpu_worker_get_count
  107. export starpu_cuda_worker_get_count
  108. export starpu_opencl_worker_get_count
  109. export starpu_mic_worker_get_count
  110. end