-
Notifications
You must be signed in to change notification settings - Fork 986
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
Make sure data.table is linked (not just compiled) with -fopenmp
in this particular branch of configure
for Darwin
#6633
base: master
Are you sure you want to change the base?
Conversation
configure
for Darwin
configure
for Darwin-fopenmp
in this particular branch of configure
for Darwin
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #6633 +/- ##
=======================================
Coverage 98.61% 98.61%
=======================================
Files 79 79
Lines 14536 14535 -1
=======================================
Hits 14334 14334
+ Misses 202 201 -1 ☔ View full report in Codecov by Sentry. |
I am no expert on compiler flags (@jangorecki any idea?). I just poked around a bit to evaluate the PR:
Lines 116 to 117 in 98cf24e
Lines 102 to 103 in 98cf24e
cc @kevinushey, is there a reason to pair/not pair |
My understanding was that FWIW, installation of data.table from sources works fine for me locally (except I needed to add
|
@dvg-p4 did you compile R with clang or gcc? |
@aitap understands this far better than I do |
clang Output when I successfully install this branch, R4.2
|
Output when I unsuccessfully try to install master, R4.2
|
Are you using LLVM clang or Apple clang? Maybe LLVM clang needs to also include Either way, the change is probably fine ... |
Looks like llvm
though I get the same error if I try to take it off my path and force apple clang instead (80% sure I've actually tested what I think I'm testing, 20% it's still using the llvm one because some internal environment thing is overriding my overriding) |
Exactly! With OpenMP, there's a number of possibilities:
|
A more audacious rewrite is in the check-openmp-cflags branch. It's not impossible to write a shell script for this, but much less convenient. (There's no |
At least, that's what I think this does? See #6622, which this partially fixes. Empirically this change allows me to install data.table from source with multithreading working properly into my R4.2 library on my MacBook. (Doesn't work for R4.4 but there's a precompiled binary for that version so I don't care enough to keep futzing with it.)
Holding off on writing a NEWS entry since as mentioned I'm not entirely sure what this change actually does.