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

Add icc compiler to CI matrix #1159

Merged
merged 34 commits into from
Dec 13, 2023
Merged

Add icc compiler to CI matrix #1159

merged 34 commits into from
Dec 13, 2023

Conversation

jrhemstad
Copy link
Collaborator

@jrhemstad jrhemstad commented Nov 29, 2023

closes #140

Description

Adds a build job for icx with CUDA newest.

@jrhemstad jrhemstad changed the title Add icx compiler to CI matrix Add icc compiler to CI matrix Nov 29, 2023
Copy link
Collaborator Author

@jrhemstad jrhemstad left a comment

Choose a reason for hiding this comment

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

Need to investigate: The verify-devcontainers job should be failing because there isn't a corresponding oneapi devcontainer yet.

@jrhemstad
Copy link
Collaborator Author

@gevtushenko The CI failure on the new oneapi jobs seems to be the same as the issue you fixed in: #1152

I double checked and my branch already incorporates your fixes, so something else must be going on.

Relevant log line: https://github.com/NVIDIA/cccl/actions/runs/7027282524/job/19121499268?pr=1159#step:7:1217

@miscco
Copy link
Collaborator

miscco commented Nov 29, 2023

They have to be kidding us:

error #1407-D: the "__visibility__" attribute can only appear on functions and variables with external linkage
    __attribute__((global)) __attribute__ ((__visibility__("hidden"))) void __attribute__((launch_bounds(Agent::ptx_plan::BLOCK_THREADS)))

However, with the new llvm based compiler the warning is:

error #1890: the "__visibility__" attribute can only appear on functions and variables with external linkage
 __attribute((__visibility__("hidden"))) static void __wrapper__device_stub_DeviceScanInitKernel(ScanTileStateT &tile_state, int &num_tiles) { ::cudaLaunchKernel(0, 0, 0, 0, 0, 0);}

Note that once the error number is 1407 and the other time it is 1890 🤦‍♂️

@miscco
Copy link
Collaborator

miscco commented Nov 29, 2023

Also we should be testing against the new one and not the already discontinued classic one

@jrhemstad
Copy link
Collaborator Author

Also we should be testing against the new one and not the already discontinued classic one

No, icx isn't supported by CUDA. icc is the supported compiler.

@jrhemstad
Copy link
Collaborator Author

Needed to set CUDAHOSTCXX in the devcontainer: rapidsai/devcontainers#181

ci/build_common.sh Outdated Show resolved Hide resolved
"SCCACHE_BUCKET": "rapids-sccache-devs",
"VAULT_HOST": "https://vault.ops.k8s.rapids.ai",
"HISTFILE": "${containerWorkspaceFolder}/.cache/._bash_history",
"DEVCONTAINER_NAME": "cuda12.3-oneapi2023.2.0",
Copy link
Collaborator

Choose a reason for hiding this comment

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

Something here is fishy, in the error logs I find:

lit: /home/coder/cccl/libcudacxx/test/utils/libcudacxx/test/config.py:364: note: detected host_cxx.version as: (20.21, 2.1, 1)

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I think this is because 2021.10 is the last release of the "classic" compilers that is bundled with the OneAPI package.

@jrhemstad
Copy link
Collaborator Author

@miscco it looks like all the icc tests are still failing because of the warning despite the changes you pushed. Any idea what is going on?

@miscco
Copy link
Collaborator

miscco commented Dec 7, 2023

The only thing that changed was icc ->icpc, so I am not sure Maybe we just disable both?

@jrhemstad
Copy link
Collaborator Author

jrhemstad commented Dec 7, 2023

The only thing that changed was icc ->icpc, so I am not sure Maybe we just disable both?

It was never actually passing before. The previous passing jobs were a lie because of the bug where jobs would report success even though the build failed.

@miscco
Copy link
Collaborator

miscco commented Dec 7, 2023

@gevtushenko I am seeing issues with nvbench build here:

  icpc: remark #10441: The Intel(R) C++ Compiler Classic (ICC) is deprecated and will be removed from product release in the second half of 2023. The Intel(R) oneAPI DPC++/C++ Compiler (ICX) is the recommended compiler moving forward. Please transition to use this compiler. Use '-diag-disable=10441' to disable this message.
  ld: lib/libnvbench.so: undefined reference to `std::experimental::filesystem::v1::create_directory(std::experimental::filesystem::v1::__cxx11::path const&)'
  ld: lib/libnvbench.so: undefined reference to `std::experimental::filesystem::v1::status(std::experimental::filesystem::v1::__cxx11::path const&)'
  ld: lib/libnvbench.so: undefined reference to `std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts()'

@gevtushenko
Copy link
Collaborator

@gevtushenko I am seeing issues with nvbench build here:

  icpc: remark #10441: The Intel(R) C++ Compiler Classic (ICC) is deprecated and will be removed from product release in the second half of 2023. The Intel(R) oneAPI DPC++/C++ Compiler (ICX) is the recommended compiler moving forward. Please transition to use this compiler. Use '-diag-disable=10441' to disable this message.
  ld: lib/libnvbench.so: undefined reference to `std::experimental::filesystem::v1::create_directory(std::experimental::filesystem::v1::__cxx11::path const&)'
  ld: lib/libnvbench.so: undefined reference to `std::experimental::filesystem::v1::status(std::experimental::filesystem::v1::__cxx11::path const&)'
  ld: lib/libnvbench.so: undefined reference to `std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts()'

Feel free to disable benchmarks build for icc

@jrhemstad
Copy link
Collaborator Author

@miscco miscco added infrastructure Shared CMake, github, etc infrastructure backport branch/2.3.x For backporting to the 2.3.x release branch labels Dec 13, 2023
@miscco miscco merged commit 0ea74c4 into main Dec 13, 2023
537 checks passed
Copy link
Contributor

Backport failed for branch/2.3.x, because it was unable to cherry-pick the commit(s).

Please cherry-pick the changes locally.

git fetch origin branch/2.3.x
git worktree add -d .worktree/backport-1159-to-branch/2.3.x origin/branch/2.3.x
cd .worktree/backport-1159-to-branch/2.3.x
git checkout -b backport-1159-to-branch/2.3.x
ancref=$(git merge-base bf098efd7fd8d3d686fa7bf9f47811600c421088 8d7355b0c2efd86f623ebc15a76c218df7381b5d)
git cherry-pick -x $ancref..8d7355b0c2efd86f623ebc15a76c218df7381b5d

miscco pushed a commit to miscco/cccl that referenced this pull request Dec 13, 2023
miscco pushed a commit to miscco/cccl that referenced this pull request Dec 13, 2023
jrhemstad added a commit to miscco/cccl that referenced this pull request Dec 13, 2023
jrhemstad added a commit that referenced this pull request Dec 13, 2023
* Add icc compiler to CI matrix (#1159)

* Attempt to WAR CUB / RDC / MSVC issue (#669)

---------

Co-authored-by: Jake Hemstad <jhemstad@nvidia.com>
Co-authored-by: Georgii Evtushenko <evtushenko.georgy@gmail.com>
@miscco miscco added backport done This PR has been backported to the relevant branch and removed backport branch/2.3.x For backporting to the 2.3.x release branch labels Jan 18, 2024
@miscco miscco deleted the jrhemstad-patch-13 branch March 7, 2024 19:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport done This PR has been backported to the relevant branch infrastructure Shared CMake, github, etc infrastructure
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

[FEA]: Add ICC as a host compiler to CI
4 participants