Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Fix Windows GitHub CI #977

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

Merged
merged 35 commits into from
Apr 27, 2023
Merged

Conversation

nilsfriess
Copy link
Collaborator

@nilsfriess nilsfriess commented Mar 15, 2023

This PR fixes the Windows CI.
There are still a few TODOs (but at least the CPU tests compile):

  • I've commented out this because the function setDeviceMangleContext does not exist in LLVM 15 (I think it was removed in LLVM13). Maybe @fodinabor knows if it is fine to just remove this?
  • Compilation of tests with CUDA
  • Add more CUDA versions
  • CPU tests are compiled but not executed
  • Upload prebuilt LLVM on Uni servers, not Dropbox

Edit: Just compiling and running the tests for CPU for now

@fodinabor
Copy link
Collaborator

Re the setDeviceMangleContext, I am unsure, if needed. Will try to test with a GPU soon-ish..
But I assume, it will only be necessary for LLVM < 13, since the other macro paths do create the mangle context in place anyways?

@nilsfriess nilsfriess force-pushed the fix-windows-github-ci branch from ef76c48 to 35e6582 Compare March 21, 2023 14:23
The prebuilt LLVM was not build with CUDA enabled
In fact, this is not available in LLVM 11 (only when patched with
https://reviews.llvm.org/D69322) but the prebuilt LLVM in CI is
exactly a patched LLVM 11.
@nilsfriess nilsfriess marked this pull request as ready for review March 23, 2023 13:57
@illuhad
Copy link
Collaborator

illuhad commented Mar 27, 2023

Maybe @fodinabor can have a look at this?

@fodinabor fodinabor self-requested a review March 27, 2023 14:22
@illuhad
Copy link
Collaborator

illuhad commented Apr 26, 2023

@fodinabor are you still planning to look at this? If not it's fine, I'd just like to merge this soonish as it should be a massive quality of life improvement once contributors are no longer spammed with emails about Windows CI failures :-)

@fodinabor
Copy link
Collaborator

Sorry for the delay...
So it seems that with an LLVM 15 version that does have the NVPTX backend included (not the case for the binary version used in the CI), we can build the tests successfully, and some tests even pass (device_compilation_tests e.g.) but running sycl_tests still has some issues... so far most issues I found seem to be related to type ABI mismatches on CPU and GPU: long on MS ABI is 4 byte, but 8 byte on GPU.
But not sure if that's the only issue.
That being said, I haven't seen any indication so far that there might be mangling issues, so I guess go ahead with merging this?

@illuhad
Copy link
Collaborator

illuhad commented Apr 27, 2023

Thanks for the feedback!

so far most issues I found seem to be related to type ABI mismatches on CPU and GPU: long on MS ABI is 4 byte, but 8 byte on GPU.

yikes... That means that basic code has the chance of blowing up, not even talking about data structures.. even buffer<long> is not going to work. We should really consider focusing on MinGW..
(SSCP also solves this issue :- ) )

@illuhad illuhad merged commit d382698 into AdaptiveCpp:develop Apr 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants