-
Notifications
You must be signed in to change notification settings - Fork 30
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
Windows support #677
Merged
Merged
Windows support #677
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
makslevental
force-pushed
the
makslevental/windows-support
branch
10 times, most recently
from
August 15, 2024 02:35
082bf79
to
fa294e4
Compare
makslevental
requested review from
nirvedhmeshram,
newling,
MaheshRavishankar,
yzhang93,
Abhishek-Varma and
jtuyls
as code owners
August 15, 2024 02:35
makslevental
force-pushed
the
makslevental/windows-support
branch
14 times, most recently
from
August 15, 2024 05:05
133512a
to
e90a645
Compare
makslevental
force-pushed
the
makslevental/windows-support
branch
from
August 19, 2024 20:42
fa481b5
to
58423ff
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR enables building and running on Windows. In its current form only the lit/ctests are being performed since we still don't have a runner with windows in CI. Will add that in a follow-up.
Note, this PR refactors all the CMake in
runtime/src/iree-amd-aie/aie_runtime/CMakeLists.txt
not for fun but because having those targets built that deep in the directory structure causes problems on Windows (where path lengths are basically limited to 255 characters1).This PR also refactors the dependency on XRT. Again not for fun but because it causes problems on Windows. Specifically we no longer build all of XRT which was adding ~10 minutes to total build time and can't be
ccache
d.How does XRT cause problems?
Documenting here so for posterity: we need various headers from XRT, but XRT's classes expose too much and therefore we actually have to link their libs at compile time (
libxrt_coreutil.so
) because we're building an executable/static archive ourselves (and therefore all names have to resolved at compile time). The problem is that at runtime you cannot use thelibxrt_coreutil.so
you built2. So we need to do symbol resolution againstlibxrt_coreutil
at compile time but then not install it. Hence$<BUILD_LOCAL_INTERFACE:xrt_coreutil>
3.EDIT: we now also build boost instead of depending on a system/env install. (why: caused problems on window).
Footnotes
Yes, I'm completely serious; ↩
Because XRT's architecture looks for those libs (and the driver) in special places (like
/opt/xilinx/xrt
). ↩See BUILD_LOCAL_INTERFACE. ↩