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 conda compilers #702

Merged
merged 9 commits into from
Jun 7, 2022

Conversation

ajschmidt8
Copy link
Member

Our devel Docker containers need to be switched to using conda compilers to resolve a linking error. raft is in those containers, but hasn't yet been built with conda compilers. This PR addresses that.

These changes won't cleanly merge into branch-22.08 unfortunately due to the changes in #641, but we can address that another time.

@ajschmidt8 ajschmidt8 added improvement Improvement / enhancement to an existing function non-breaking Non-breaking change labels Jun 3, 2022
@ajschmidt8 ajschmidt8 requested a review from a team as a code owner June 3, 2022 21:18
@cjnolet
Copy link
Member

cjnolet commented Jun 3, 2022

@ajschmidt8 I see this failure message in the logs but it's not immediately clear to me what it means:


17:32:00 Error: bad character '=' in build/string: cuda11_g9c00ad1_84 - PARALLEL_LEVEL - VERSION_SUFFIX - PROJECT_FLASH - CMAKE_GENERATOR - CMAKE_C_COMPILER_LAUNCHER - CMAKE_CXX_COMPILER_LAUNCHER - CMAKE_CUDA_COMPILER_LAUNCHER - SCCACHE_S3_KEY_PREFIX=libraft-aarch64 - SCCACHE_BUCKET=rapids-sccache - SCCACHE_REGION=us-west-2 - SCCACHE_IDLE_TIMEOUT=32768
17:32:00     [gpuci_conda_retry] conda returned exit code: 1

At a glance, the file that seems to be causing the error doesn't seem to have any typos.

@cjnolet
Copy link
Member

cjnolet commented Jun 3, 2022

Now it seems like it's struggling to find the std c++ libs.

@vyasr
Copy link
Contributor

vyasr commented Jun 3, 2022

nvcc isn't finding the conda compilers, it's using the host compiler (c++4.8.2) instead. We need to add
- {{ compiler('cuda') }} {{ cuda_version }} to the requirements/build sections of the meta.yaml files for the different libraft components so that the conda nvcc gets used as well.

conda/recipes/libraft_distance/meta.yaml Outdated Show resolved Hide resolved
conda/recipes/libraft_headers/meta.yaml Show resolved Hide resolved
conda/recipes/libraft_nn/meta.yaml Show resolved Hide resolved
@cjnolet
Copy link
Member

cjnolet commented Jun 6, 2022

Looks like there's an error explicitly being thrown by scikit-build now. @vyasr are you familiar with this one? Is it a simple path issue or something deeper?

10:05:26 /workspace/.conda-bld/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.8/site-packages/setuptools/dist.py:531: UserWarning: Normalizing '22.06.00a+87.gefe2cf9' to '22.6.0a0+87.gefe2cf9'
10:05:26   warnings.warn(tmpl.format(**locals()))
10:05:26 Traceback (most recent call last):
10:05:26   File "setup.py", line 23, in <module>
10:05:26     setup(name='raft',
10:05:26   File "/workspace/.conda-bld/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.8/site-packages/skbuild/setuptools_wrap.py", line 676, in setup
10:05:26     _classify_installed_files(
10:05:26   File "/workspace/.conda-bld/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.8/site-packages/skbuild/setuptools_wrap.py", line 816, in _classify_installed_files
10:05:26     raise SKBuildError(
10:05:26 skbuild.exceptions.SKBuildError: 
10:05:26   CMake-installed files must be within the project root.
10:05:26     Project Root  : /workspace/.conda-bld/work/python/raft/_skbuild/linux-aarch64-3.8/cmake-install
10:05:26     Violating File: /workspace/.conda-bld/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/raft/common/cuda.cpython-38-aarch64-linux-gnu.so
10:05:26 

@ajschmidt8
Copy link
Member Author

ajschmidt8 commented Jun 6, 2022

Looks like there's an error explicitly being thrown by scikit-build now. @vyasr are you familiar with this one? Is it a simple path issue or something deeper?

10:05:26 /workspace/.conda-bld/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.8/site-packages/setuptools/dist.py:531: UserWarning: Normalizing '22.06.00a+87.gefe2cf9' to '22.6.0a0+87.gefe2cf9'
10:05:26   warnings.warn(tmpl.format(**locals()))
10:05:26 Traceback (most recent call last):
10:05:26   File "setup.py", line 23, in <module>
10:05:26     setup(name='raft',
10:05:26   File "/workspace/.conda-bld/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.8/site-packages/skbuild/setuptools_wrap.py", line 676, in setup
10:05:26     _classify_installed_files(
10:05:26   File "/workspace/.conda-bld/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.8/site-packages/skbuild/setuptools_wrap.py", line 816, in _classify_installed_files
10:05:26     raise SKBuildError(
10:05:26 skbuild.exceptions.SKBuildError: 
10:05:26   CMake-installed files must be within the project root.
10:05:26     Project Root  : /workspace/.conda-bld/work/python/raft/_skbuild/linux-aarch64-3.8/cmake-install
10:05:26     Violating File: /workspace/.conda-bld/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/raft/common/cuda.cpython-38-aarch64-linux-gnu.so
10:05:26 

I'm going to make some more adjustments to these py* recipes to match the cudf scikit build PR here: https://github.com/rapidsai/cudf/pull/10919/files until we here back from Vyas.

@vyasr
Copy link
Contributor

vyasr commented Jun 6, 2022

@ajschmidt8 @cjnolet this is the error fixed by #701. We need to backport that fix to 22.06 now that we are switching raft to conda compilers in 22.06.

@ajschmidt8
Copy link
Member Author

@ajschmidt8 @cjnolet this is the error fixed by #701. We need to backport that fix to 22.06 now that we are switching raft to conda compilers in 22.06.

I will backport that in my PR. thanks @vyasr

vyasr and others added 2 commits June 6, 2022 11:42
`CMAKE_ARGS` is a special environment variable in conda-forge's build process, so we need to avoid shadowing it.

Authors:
  - Vyas Ramasubramani (https://github.com/vyasr)

Approvers:
  - Corey J. Nolet (https://github.com/cjnolet)

URL: rapidsai#701
@ajschmidt8 ajschmidt8 requested a review from a team as a code owner June 6, 2022 17:39
@ajschmidt8
Copy link
Member Author

rerun tests

@ajschmidt8 ajschmidt8 merged commit 0b55c32 into rapidsai:branch-22.06 Jun 7, 2022
@ajschmidt8 ajschmidt8 deleted the add-conda-compilers branch June 7, 2022 14:41
@jakirkham
Copy link
Member

Great to see this one in! 🎉

Nice work all 🙏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
improvement Improvement / enhancement to an existing function non-breaking Non-breaking change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants