-
Notifications
You must be signed in to change notification settings - Fork 52
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
macOS Fixes, main branch (2024.08.14.) #677
macOS Fixes, main branch (2024.08.14.) #677
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pretty hacky but I guess it gets the job done.
0c4e5db
to
94b5d89
Compare
Curiously, while a "Makefile based" build works fine for me (latest macOS + Xcode) with these changes , I can not generate an Xcode project for the code as it seems.
Is this tested in the Acts CI? That |
No, we don't support Xcode on macOS at all. |
Which is just as well. Since it seems to have some nasty issues. 😦 As you can see in the log, before failing on But I'm not willing to debug that any further. |
In a way that is not completely specific to macOS.
As revealed when compiling the code on macOS.
94b5d89
to
7e448c3
Compare
Triggered by @paulgessinger pointing out that the latest version of the code doesn't work on macOS, this is what I had to do to fix that.
As it happens, the
_LIBCUDACXX_STRING_H_HAS_CONST_OVERLOADS
definition makes the code, or at least the part of it that we use, work on macOS. So I added a bit of code that would add_LIBCUDACXX_STRING_H_HAS_CONST_OVERLOADS
to the_Thrust_Thrust
target, if it seems that it's needed. I decided to do this only for the case where we build Thrust / CCCL ourselves. Since on macOS we would always do this. (With CUDA not actually supporting macOS.) Plus we can really only vouch for the behaviour of_LIBCUDACXX_STRING_H_HAS_CONST_OVERLOADS
on the exact version of CCCL that we download ourselves. On any other version all bets are off with how it would work on macOS. 🤔The fix in
clustering_config.hpp
is a much more straight forward affair on the other hand. 😉@beomki-yeo and @paulgessinger: I'm happy for one of you to set up a macOS CI for the repository. I was not keen on bothering with that myself. (We only need Boost on macOS that may not be available right away on the CI machines.)
Note: It might be worth noting that it's the following code that
_LIBCUDACXX_STRING_H_HAS_CONST_OVERLOADS
affects:https://github.com/NVIDIA/cccl/blob/v2.5.0/libcudacxx/include/cuda/std/detail/libcxx/include/string.h#L73
Deep, deep inside of the CCCL code...