tree: b8995cb5236f925f75a35ce04257d9bcb156ddc9
  1. cts/
  2. drivers/
  3. local/
  4. memory/
  5. replay/
  6. test/
  7. testing/
  8. utils/
  9. allocator.c
  10. allocator.h
  11. allocator_heap.c
  12. api.h
  13. buffer.c
  14. buffer.h
  15. buffer_heap.c
  16. buffer_heap_impl.h
  17. buffer_transfer.c
  18. buffer_transfer.h
  19. buffer_view.c
  20. buffer_view.h
  21. buffer_view_util.c
  22. buffer_view_util.h
  23. buffer_view_util_test.cc
  24. BUILD.bazel
  25. channel.c
  26. channel.h
  27. channel_provider.c
  28. channel_provider.h
  29. CMakeLists.txt
  30. command_buffer.c
  31. command_buffer.h
  32. command_buffer_validation.c
  33. command_buffer_validation.h
  34. detail.h
  35. device.c
  36. device.h
  37. device_group.c
  38. device_group.h
  39. device_group_test.cc
  40. device_test.cc
  41. driver.c
  42. driver.h
  43. driver_registry.c
  44. driver_registry.h
  45. event.c
  46. event.h
  47. executable.c
  48. executable.h
  49. executable_cache.c
  50. executable_cache.h
  51. fence.c
  52. fence.h
  53. file.c
  54. file.h
  55. pool.c
  56. pool.h
  57. pool_set.c
  58. pool_set.h
  59. pool_test.cc
  60. profile_metrics.c
  61. profile_metrics.h
  62. profile_metrics.inc
  63. profile_metrics_test.cc
  64. profile_options.c
  65. profile_options.h
  66. profile_schema.h
  67. profile_sink.c
  68. profile_sink.h
  69. queue.h
  70. README.md
  71. resource.h
  72. semaphore.c
  73. semaphore.h
  74. string_util.c
  75. string_util.h
  76. string_util_test.cc
  77. topology.c
  78. topology.h
  79. topology_builder.c
  80. topology_builder.h
  81. topology_builder_test.cc
  82. topology_test.cc
runtime/src/iree/hal/README.md

IREE Hardware Abstraction Layer (HAL)

The IREE HAL expresses a low-level abstraction over modern compute APIs like Vulkan (CPUs count too!). Each implementation of the HAL interface can:

  • Enumerate and query devices and their capabilities
  • Define executable code that runs on the device
  • Allocate unified or discrete memory and provide cache control
  • Organize work into sequences for deferred submission
  • Provide explicit synchronization primitives for ordering submissions

Refer to IREE's presentations and talks for further details.

Testing

See the cts/ folder for the HAL Conformance Test Suite.