-
Notifications
You must be signed in to change notification settings - Fork 154
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
cuSpatial: Build CUDA 12 packages #1044
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.
Good start. Let’s minimize the dependencies. I don’t think cuSpatial requires all the same things as libcudf. I will revisit the math libraries question in a bit.
Please use GitHub's Draft PR feature in the future. Draft PRs have the benefit of preventing notifications to Some useful information about Draft PRs:
|
Marking PR as draft. |
The math library dependency I was thinking of was cusparse, which was removed in this PR: #959. No math libraries are needed here, which simplifies things. 😄 |
…into conda-cuda-12
CI is passing so I'm going to open this draft for review. I'll also start a review. 👍 |
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.
I pushed a small change to leverage run_exports
by putting -dev
packages in the host
section, so that they populate the run
section implicitly. We adopted this approach in cudf because it plays better with the conda overlinking checker. Otherwise this looks good to me! I'd like a review from one other CUDA 12 expert before approving.
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.
This is fairly close, but a couple of things need resolving and perhaps a bit of discussion.
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.
Thanks Michael and everyone reviewing! 🙏
Had a couple suggestions below
conda/recipes/libcuspatial/meta.yaml
Outdated
ignore_run_exports_from: | ||
- {{ compiler('cuda') }} | ||
{% if cuda_major == "11" %} | ||
- {{ compiler('cuda11') }} | ||
{% endif %} |
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.
Noticed the run_exports
of these compilers are ignored, but the compilers are not listed in build
. Do we intend to have the compilers or is this section unneeded?
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.
Probably unneeded. Removed and trying if CI passes.
- {{ compiler('cuda') }} | ||
{% if cuda_major == "11" %} | ||
- {{ compiler('cuda11') }} | ||
{% endif %} | ||
requirements: | ||
build: |
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.
Should we have the compilers here?
build: | |
build: | |
- {{ compiler('c') }} | |
- {{ compiler('cxx') }} | |
{% if cuda_major == "11" %} | |
- {{ compiler('cuda11') }} ={{ cuda_version }} | |
{% else %} | |
- {{ compiler('cuda') }} | |
{% endif %} | |
- sysroot_{{ target_platform }} {{ sysroot_version }} |
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.
No, we have already finished compilation by the time we're packaging libcuspatial and libcuspatial-tests. Compilers are needed in the top-level build
section for use by build.sh
, but the individual package outputs only install (copy) files to the conda environment and do not perform compilation.
The only argument I could see for adding compilers would be to influence the host/run environments via run_exports
but I think that is not necessary here (we haven't traditionally done this).
- {{ compiler('cuda') }} | ||
{% if cuda_major == "11" %} | ||
- {{ compiler('cuda11') }} | ||
{% endif %} | ||
requirements: | ||
build: | ||
- cmake {{ cmake_version }} |
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.
Do we need ninja
here too (as it is used elsewhere)?
- cmake {{ cmake_version }} | |
- cmake {{ cmake_version }} | |
- ninja |
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.
No, we do not need ninja here. Ninja should be in the top-level build
but not the subpackages' build
sections.
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.
All looks good to me. Thanks @isVoid!
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.
LGTM
/merge |
Discovered the |
Description
This PR builds
libcuspatial
andcuspatial
conda packages using CUDA 12. Closes #925.Based on rapidsai/cudf#12922.
Checklist