-
Notifications
You must be signed in to change notification settings - Fork 473
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
What would it take to remove boost from XRT? #7833
Comments
I understand your motivation. |
@newling This is work-in-progress. We are removing boost dependencies as we type. I think we are very close to have no link time dependencies left in the xrt shared libraries, but we have a few inline boost library dependencies some of which can be replaced as we move to use more modern c++. However boost property_tree is the more difficult one. What is the problem with the few inline libraries being used? As for linking with boost, the stand-alone tools part of XRT do bring in boost library dependencies, but that is not really a problem related to IREE's use of XRT. |
@keryell Your ubuntu23.10 issue is assigned and being fixed now. |
@stsoe it is good to hear that you're close to having no link time dependencies to boost for the xrt libraries. Header only dependencies are much better (I didn't realize property_tree was header only). |
@stsoe do you have a rough idea of when XRT will be link time dep free? Weeks/months? |
Hi @newling. I don't see any boost link time dependencies in the shared libraries even today. So this was implemented with the removal of boost::filesystem within the last month or so. |
Super, thanks Soren. |
I'm trying to figure out what it might take to remove the boost dependency from the end-to-end IREE AIE compiler stack. As far as I known, XRT is currently the only component which uses boost in the stack.
What's the motivation? At least in my experience, boost is a difficult dependency to manage correctly.
I am opening this issue just to get some idea from the XRT team about what it might take to replace boost with smaller dependencies, STL, and/or our own code. What would be some of the hardest boost components to replace?
Here are the boost headers used, listed with the number of XRT files they're included in:
I think some of these can easily be replaced with C++ STL:
Maybe some of these can be factored out of the core runtime:
But for some of these, I don't know what replacement might be used:
Has the idea of removing boost from XRT been considered before? Any thoughts/ideas welcome!
The text was updated successfully, but these errors were encountered: