Skip to content
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

GH-37750: [R][C++] Add compatability with IntelLLVM #37781

Merged
merged 4 commits into from
Sep 20, 2023

Conversation

assignUser
Copy link
Member

@assignUser assignUser commented Sep 18, 2023

Rationale for this change

The IntelLLVM compiler has a different compiler ID that we currently can't handle and causes the build to fail.

What changes are included in this PR?

This adds the missing flags/IDs. Mimalloc in the current bundled version is not compatible with IntelLLVM this can be worked around by using a system version, a simple version bump is not sufficient and I don't think it's worth the effort to fix it properly for now.

For the R package build I have disabled mimalloc with IntelLLVM to avoid issues on CRAN.

This required for cmake >=3.20 otherwise the ID will be Intel
@github-actions
Copy link

⚠️ GitHub issue #37750 has been automatically assigned in GitHub to PR creator.

@assignUser assignUser changed the title GH-37750: [R][C++] GH-37750: [R][C++] Add compatability with IntelLLVM Sep 18, 2023
@github-actions github-actions bot added the awaiting review Awaiting review label Sep 18, 2023
@assignUser assignUser marked this pull request as ready for review September 18, 2023 18:28
@assignUser assignUser requested a review from kou September 18, 2023 18:28
Copy link
Member

@kou kou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

Can we add a nightly CI job for IntelLLVM?

r/inst/build_arrow_static.sh Outdated Show resolved Hide resolved
@github-actions github-actions bot added awaiting merge Awaiting merge and removed awaiting review Awaiting review labels Sep 19, 2023
@assignUser
Copy link
Member Author

Can we add a nightly CI job for IntelLLVM?

If there was any user request/bug reports for it but we only found this due to a synthetic test on CRAN so I don't really think that is worth the effort and cost(in ci time) at the moment. AFAIK we don't even have a job for classic Intel compiler...

Comment on lines +332 to +333
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel" OR CMAKE_CXX_COMPILER_ID STREQUAL
"IntelLLVM")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The code further up in the diff is using a regex-match already; would make this a bit easier I guess...

Suggested change
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel" OR CMAKE_CXX_COMPILER_ID STREQUAL
"IntelLLVM")
elseif(CMAKE_CXX_COMPILER_ID MATCHES "^Intel(LLVM)?$")

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I hope you don't mind, but I'm going to merge the PR as I need it to cherry-pick into an R package release I'm doing today, but we could make this change in a follow-up PR.

@github-actions github-actions bot added awaiting changes Awaiting changes and removed awaiting merge Awaiting merge labels Sep 20, 2023
@thisisnic thisisnic merged commit fecb968 into apache:main Sep 20, 2023
33 checks passed
@thisisnic thisisnic removed the awaiting changes Awaiting changes label Sep 20, 2023
thisisnic pushed a commit to thisisnic/arrow that referenced this pull request Sep 20, 2023
### Rationale for this change

The IntelLLVM compiler has a different compiler ID that we currently can't handle and causes the build to fail. 

### What changes are included in this PR?

This adds the missing flags/IDs. Mimalloc in the current bundled version is not compatible with IntelLLVM this can be worked around by using a system version, a simple version bump is not sufficient and I don't think it's worth the effort to fix it properly for now.

For the R package build I have disabled mimalloc with IntelLLVM to avoid issues on CRAN.

* Closes: apache#37750

Authored-by: Jacob Wujciak-Jens <jacob@wujciak.de>
Signed-off-by: Nic Crane <thisisnic@gmail.com>
@conbench-apache-arrow
Copy link

After merging your PR, Conbench analyzed the 6 benchmarking runs that have been run so far on merge-commit fecb968.

There were no benchmark performance regressions. 🎉

The full Conbench report has more details.

@assignUser assignUser deleted the r-intelllvm branch September 25, 2023 22:01
loicalleyne pushed a commit to loicalleyne/arrow that referenced this pull request Nov 13, 2023
### Rationale for this change

The IntelLLVM compiler has a different compiler ID that we currently can't handle and causes the build to fail. 

### What changes are included in this PR?

This adds the missing flags/IDs. Mimalloc in the current bundled version is not compatible with IntelLLVM this can be worked around by using a system version, a simple version bump is not sufficient and I don't think it's worth the effort to fix it properly for now.

For the R package build I have disabled mimalloc with IntelLLVM to avoid issues on CRAN.

* Closes: apache#37750

Authored-by: Jacob Wujciak-Jens <jacob@wujciak.de>
Signed-off-by: Nic Crane <thisisnic@gmail.com>
dgreiss pushed a commit to dgreiss/arrow that referenced this pull request Feb 19, 2024
### Rationale for this change

The IntelLLVM compiler has a different compiler ID that we currently can't handle and causes the build to fail. 

### What changes are included in this PR?

This adds the missing flags/IDs. Mimalloc in the current bundled version is not compatible with IntelLLVM this can be worked around by using a system version, a simple version bump is not sufficient and I don't think it's worth the effort to fix it properly for now.

For the R package build I have disabled mimalloc with IntelLLVM to avoid issues on CRAN.

* Closes: apache#37750

Authored-by: Jacob Wujciak-Jens <jacob@wujciak.de>
Signed-off-by: Nic Crane <thisisnic@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[R][C++] Cmake error Unknown compiler: IntelLLVM 2023.2.0
4 participants