tree: a655193e0f8ffb9d7321f05a4f9e4cfc9035c807 [path history] [tgz]
  1. backends/
  2. c/
  3. client/
  4. experimental/
  5. g3doc/
  6. hlo/
  7. mlir/
  8. mlir_hlo/
  9. pjrt/
  10. python/
  11. python_api/
  12. rpc/
  13. runtime/
  14. service/
  15. stream_executor/
  16. tests/
  17. tools/
  18. translate/
  19. .clang-format
  20. array.cc
  21. array.h
  22. array2d.h
  23. array2d_test.cc
  24. array3d.h
  25. array3d_test.cc
  26. array4d.h
  27. array4d_test.cc
  28. array_test.cc
  29. autotune_results.proto
  30. autotune_serialize.cc
  31. autotune_serialize.h
  32. bit_cast.h
  33. bit_cast_test.cc
  34. BUILD
  35. comparison_util.cc
  36. comparison_util.h
  37. comparison_util_test.cc
  38. cpu_function_runtime.cc
  39. cpu_function_runtime.h
  40. debug_options_flags.cc
  41. debug_options_flags.h
  42. debug_options_parsers.h
  43. debug_options_parsers_test.cc
  44. device_util.h
  45. error_spec.h
  46. executable_run_options.cc
  47. executable_run_options.h
  48. execution_options_util.cc
  49. execution_options_util.h
  50. glob_lit_test.bzl
  51. index_util.cc
  52. index_util.h
  53. index_util_test.cc
  54. iterator_util.h
  55. iterator_util_test.cc
  56. layout.cc
  57. layout.h
  58. layout_test.cc
  59. layout_util.cc
  60. layout_util.h
  61. layout_util_test.cc
  62. lazy.h
  63. literal.cc
  64. literal.h
  65. literal_comparison.cc
  66. literal_comparison.h
  67. literal_test.cc
  68. literal_util.cc
  69. literal_util.h
  70. map_util.h
  71. metric_table_report.cc
  72. metric_table_report.h
  73. overflow_util.h
  74. packed_literal_reader.cc
  75. packed_literal_reader.h
  76. parse_flags_from_env.cc
  77. parse_flags_from_env.h
  78. parse_flags_from_env_test.cc
  79. permutation_util.cc
  80. permutation_util.h
  81. permutation_util_test.cc
  82. primitive_util.cc
  83. primitive_util.h
  84. primitive_util_test.cc
  85. protobuf_util.cc
  86. protobuf_util.h
  87. pytype.default.bzl
  88. README.md
  89. refcounting_hash_map.h
  90. refcounting_hash_map_test.cc
  91. reference_util.cc
  92. reference_util.h
  93. reference_util_test.cc
  94. runlit.cfg.py
  95. runlit.site.cfg.py
  96. service_interface.h
  97. shape.cc
  98. shape.h
  99. shape_layout.cc
  100. shape_layout.h
  101. shape_test.cc
  102. shape_tree.cc
  103. shape_tree.h
  104. shape_tree_test.cc
  105. shape_util.cc
  106. shape_util.h
  107. shape_util_test.cc
  108. sharding_op_util.cc
  109. sharding_op_util.h
  110. side_effect_util.cc
  111. side_effect_util.h
  112. status.h
  113. status_macros.cc
  114. status_macros.h
  115. status_macros_test.cc
  116. statusor.h
  117. test.h
  118. test_helpers.h
  119. text_literal_reader.cc
  120. text_literal_reader.h
  121. text_literal_reader_test.cc
  122. text_literal_writer.cc
  123. text_literal_writer.h
  124. text_literal_writer_test.cc
  125. types.h
  126. union_find.h
  127. util.cc
  128. util.h
  129. util_test.cc
  130. window_util.cc
  131. window_util.h
  132. window_util_test.cc
  133. xla.bzl
  134. xla.proto
  135. xla_data.proto
tensorflow/compiler/xla/README.md

XLA (Accelerated Linear Algebra) is a domain-specific compiler for linear algebra that optimizes TensorFlow computations. See the documentation.

This directory is currently migrating to OpenXLA and will be the root of the openxla/xla repository.

== Directory Structure ==

We're currently re-organizing the directory structure, the end result should be that no sources are directly present at the top-level. Here is the current plan for the directory layout:

  • backends/ (created from directories under xla/service)
    • cpu/
    • gpu/
    • interpreter/
    • ...
  • hlo/ (created from xla/service/ mostly, no sources expected directly here)
    • client/ (created from xla/client)
    • evaluator/ (created from the relevant files in xla/service)
    • experimental/ (created from xla/experimental)
    • ir/ (created from the relevant files in xla/service)
    • python/ (created from xla/python)
    • tests/ (created from xla/tests)
    • transforms/ (created from the relevant files in xla/service)
    • utils/ (created from the relevant files in xla/service)
  • mlir/ (also exported as the root of https://github.com/tensorflow/mlir-hlo and building with CMake)
    • CMakeLists.txt (just like now for mlir-hlo repo).
    • backends/ (same as xla/backends/ but for the MLIR specific bits: this is a short-term solution pending more convergence / XLA Next)
      • cpu
      • gpu (populated from /compiler/xla/mlir/transforms/gpu/passes.td, will contain all the glue for e2e GPU compilation)
    • bindings/
      • c/ (bootstrapped from mlir/hlo/{include,lib}/mlir-hlo-c)
      • python/ (bootstrapped from mlir/hlo/python, should talk about some low-level LAX?)
    • integration_tests/ (to be defined / refined)
    • tools/ (xla-opt, fuzzer, ir-reducer, interpreter/evaluator)
    • transforms/ (generic / cross dialect transforms)
    • utils/
  • // below are dialects and transforms folders
    • framework/ (moved from compiler/mlir/xla/ir/xla_framework_ops.td)
    • gml_st
      • gmlst-opt.cc
      • gmlst-runner.cc (runner tool that can execute IR at ~gmlst level)
      • ir/
      • integration_test (tests that run things: Tensor(s) in -> Tensor(s) out)
      • test (IR -> IR tests for passes interaction)
      • transforms/
        • bufferize_tiled_loop/
          • bufferize_tiled_loop.cc
          • bufferize_tiled_loop.h
        • ...
    • lhlo_gpu/
    • mhlo/
      • mhlo-opt.cc
      • analysis/
        • dataflow/
          • dataflow.h
          • dataflow.cc
          • test_pass.cc // test_only target, linked into opt tool for testing only.
      • integration_test (tests that run things: Tensor(s) in -> Tensor(s) out)
      • ir/ (dialect definition)
      • test (IR -> IR tests for passes interaction)
      • transforms/
        • materialize_broadcasts/
          • materialize_broadcasts.cc
          • materialize_broadcasts.h // headers stays with the source
          • broadcast_analysis.{cc, h} // private analysis/utils needed for this pass
          • test/ (.mlir unit-tests are collocated with the pass itself).
        • passes.td // enables group registration for all passes.
      • utils/
    • thlo/
    • runtime/
  • pjrt/ (created from xla/pjrt)
  • rpc/ (created from xla/rpc)
  • runtime/
  • stream_executor/ (moved from TensorFlow)
  • third_party/ (vendoring of TSL base library)
  • tools/ (created from mlir/hlo/tools and xla/tools)
  • translate/ (StableHLO to MHLO, MHLO to HLO, HLO to MHLO, MHLO to TOSA)