HLO Componentization: Progress update

179 views
Skip to first unread message

Sandeep Dasgupta

unread,
Oct 4, 2024, 12:28:02 AM10/4/24
to OpenXLA Discuss
Greetings, everyone!

I am thrilled to announce that the work on HLO componentization (ref) is making excellent progress. You will now find the following new subcomponents under xla/hlo.

* parser (IR Parser)
* builder (Primarily op, padding, and sharding builders migrated from xla/client)
* pass (HLO pass infrastructure and pipeline)
* translate ([MHLO | StableHLO] ↔ HLO)
* tools (backend agnostic tools on HLO)

We request users to migrate their projects to leverage these subcomponents. We are taking care of all related in-tree migrations. Additionally, we are currently working on other subcomponents such as xla/hlo/transforms and xla/hlo/ir.  

Thank you for your continued support.

Sandeep

Jan Pfeifer

unread,
Oct 4, 2024, 12:22:56 PM10/4/24
to Sandeep Dasgupta, OpenXLA Discuss
Congratulations on the progress. Being a user of the builder (XlaBuilder), it looks refreshingly cleaner.

Question: are there more detailed plans on the builder (XlaBuilder) ? Any changes we should be expecting ?

--
You received this message because you are subscribed to the Google Groups "OpenXLA Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/openxla.org/d/msgid/openxla-discuss/2d0f9dc8-0e5e-466a-8e52-1554af616b21n%40openxla.org.
For more options, visit https://groups.google.com/a/openxla.org/d/optout.

Sandeep Dasgupta

unread,
Oct 4, 2024, 7:00:14 PM10/4/24
to Jan Pfeifer, OpenXLA Discuss
Hi Jan,

Thank you for your kind words about XlaBuilder! We're delighted to hear that you find it easier to use.

At this time, we don't anticipate any further changes to XlaBuilder.

We are continuously working to compartmentalize other sub-components like IR and transformation/analysis passes. We hope you'll find them equally clean and user-friendly.

Best regards,
Sandeep

Sandeep Dasgupta

unread,
Oct 19, 2024, 3:33:34 AM10/19/24
to Jan Pfeifer, OpenXLA Discuss
Hello All,
Just a quick update: As part of our ongoing HLO componentization efforts (ref), we've added the following new subcomponents under xla/hlo:

* transforms (hardware-independent HLO transformation passes)
* analysis (routines for analyzing HLO IR)
* testlib (test utilities for hardware-independent testing of transform passes)

We're actively working on migrating all external uses of these subcomponents.



Best regards,
Sandeep


Sandeep Dasgupta

unread,
Oct 22, 2024, 9:36:00 PM10/22/24
to Jan Pfeifer, OpenXLA Discuss
Hello Everybody,
I would like to let you all know that we've added build-level warnings to all targets that will soon be deprecated (example). I encourage you to review these warnings and migrate to the new targets as soon as possible. We plan to begin removing the deprecated aliases in early December, but we will send out a reminder one week before the removal process starts.

Also, feel free to let us know if you have any concerns. We would love to address/accommodate those. 

Thank you,
Sandeep Dasgupta


Sandeep Dasgupta

unread,
Jan 14, 2025, 9:54:27 PMJan 14
to OpenXLA Discuss, Sandeep Dasgupta

Hello Everybody,

This is a follow-up to the previous announcement about the deprecation of certain XLA build targets and headers.

We are planning to remove the deprecated aliases in February 2025. To ensure a smooth transition and avoid any disruption to your workflows, please migrate to the new targets and headers as soon as possible.

The migration process involves two steps:

1. Migrate Build Dependencies:

  • Replace dependencies on deprecated build targets with their corresponding replacements.
    • For example, instead of depending on //third_party/tensorflow/compiler/xla/service:hlo_pass, depend on //third_party/tensorflow/compiler/xla/hlo/pass:hlo_pass.
  • The deprecated targets are structured like this example, which clearly identifies the deprecated target and its correct replacement.

2. Migrate Header Dependencies:

  • Update your code to use the new headers instead of the deprecated ones.
    • For example, replace #include "xla/service/hlo_pass_fix.h" with #include "xla/hlo/pass/hlo_pass_fix.h".
  • Similar to the build targets, the deprecated headers are structured like this example, with the correct header clearly indicated within the file.
As part of HLO componentization effort, we have already made a best effort to run these migration steps and update the dependencies to the new targets for all HLO subcomponents. However, there may be new dependencies that arise, so please be vigilant and address any warnings you encounter.

We understand that migrating to new targets and headers may require some effort, and we appreciate your cooperation in ensuring a smooth transition. Please don't hesitate to reach out if you have any questions or concerns. We are here to help!

Thank you,

Sandeep Dasgupta

Sandeep Dasgupta

unread,
Apr 11, 2025, 10:09:03 PMApr 11
to OpenXLA Discuss, Sandeep Dasgupta
Hello Everyone,
This is to notify that build and header aliases have been removed. This removal may cause build breakages if you have not migrated to the new build/header targets. To prevent build breakages, please update your targets using the provided mapping sheet, which shows the old target to new target mappings. Deprecated Target Map


Thanks
Sandeep
Reply all
Reply to author
Forward
0 new messages