The XLA development workflow is usually centered around
HLO IR, which represents isolated functional
computation given to the compiler. XLA comes with multiple command line tools
(described below) which consume HLO and either run it, or provide an
intermediate compilation stage. Using such tools is invaluable for a fast
compile->modify->run iteration cycle, as HLO is both visualizable and
hackable, and iteratively changing and running it is often the fastest way to
understand and to fix an XLA performance or behavior.
The easiest way to obtain the HLO for a program being compiled with XLA is
usually to use the XLA_FLAGS environment variable:
$ XLA_FLAGS=--xla_dump_to=/tmp/myfolder ./myprogram-entry-point
which stores all before-optimization HLO files in the folder specified, along with many other useful artifacts.
[run_hlo_module] Run HLO Modules
bazel run //xla/tools:run_hlo_module