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