-
-
Notifications
You must be signed in to change notification settings - Fork 15
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
enable building for CUDA #1
Conversation
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
@conda-forge-admin, please rerender |
@mdouze @beauby
Seems we could take out the compilation for that architecture, or is it unsupported already from your side? |
The
@mdouze @beauby @jakirkham, I have no experience with building GPU packages, so comments/pointers are welcome! Since the makefiles are quite vanilla, I'd be tempted to say this is an error in the upstream code, but then, you've managed to build it for the pytorch channel... |
Hey @dantegd, not sure if you unsubscribed from the frenzy of commits in conda-forge/staged-recipes#11337, but if yes, the good news is that the C++ API is now in fact being packaged separately. Right now, it's only the CPU-part of the C++-API, but once this PR is successfully merged, you should be able to just use |
@wickedfoo, any idea what this could be? |
I mentioned in the other PR that one remaining difference is that we're not passing
However, it doesn't read to me like the error is related to that (because several modules got correctly compiled by nvcc before), but in any case, here's the full call that failed:
|
@h-vetinari @mdouze The compilation error looks like you have a stray faiss/gpu/impl/PQScanMultiPassNoPrecomputed.cu file which has been deleted from the repository as of this commit: facebookresearch/faiss@64dd988#diff-948369eef79ac94c4b1a946328ee607f |
@wickedfoo Seems we'll need to restrict
By default, it's building for:
Not sure how this is handled elsewhere in conda-forge @conda-forge/core (side note: how about forming a team @conda-forge/help-gpu ...?) |
@h-vetinari You might also want to get these commits as well that fix CUDA 8 and CUDA 10 warnings, since it appears that you are getting this warning in your CUDA 10 build:
CUDA 8 fixes: CUDA 10 fixes: |
@wickedfoo |
d568885
to
5e8fb54
Compare
Thanks for the ping! Am taking some time off this week. Will take a look next week though 🙂 |
No worries, thanks for responding nevertheless! |
6ea0585
to
9a2f309
Compare
Pinging the collaborators on the It seems that my hunt for the right
This made me wonder: are there NVidia drivers in the image at all (it doesn't seem so from the dockerfiles for Looking around for "cuda driver" in conda-forge, it seems that pyarrow has a similar problem? |
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.
Gentle ping @jakirkham :) |
Yep, thanks for the reminder. It's on my list :) |
Another gentle ping @jakirkham (I'm sure that list of yours is mighty full, but new week, new luck 😉) |
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 @h-vetinari both for all of the work and the reminder! Apologies for letting this slip.
Largely things seem good here. I made a few small comments, but I think all of the reviewers comments and your work have put this in a pretty good place already. 🙂
Please let me know if you have any questions or specific things you'd like me to look at and will happily look at those as well.
# docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#major-components__table-cuda-toolkit-driver-versions | ||
# docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html#gpu-feature-list | ||
|
||
# the following are all the x86-relevant gpu arches; for building aarch64-packages, add: 53, 62, 72 |
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 go ahead and add a if
for this case in preparation?
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 propose to cross this bridge when we come to it. ;-)
My comment is the preparation 😋
@@ -8,7 +28,7 @@ fi | |||
# Build vanilla version (no avx) | |||
./configure --prefix=${PREFIX} --exec-prefix=${PREFIX} \ | |||
--with-blas=-lblas --with-lapack=-llapack \ | |||
${CUDA_CONFIG_ARG} | |||
${CUDA_CONFIG_ARG} --with-cuda-arch="${CUDA_ARCH}" || exit 1 |
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.
Would it make sense to add this to the CUDA_CONFIG_ARG
above?
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 tried this first of course, but couldn't get the quotes to get passed through correctly, and then the compilation would fail.
For best performance, the maintainers of the package | ||
[recommend](https://github.com/conda-forge/staged-recipes/pull/11337#issuecomment-623718460) | ||
using the MKL implementation of blas/lapack. You can ensure that this is installed | ||
by adding "libblas =*=mkl" to your dependencies. | ||
by adding "libblas =*=*mkl" to your dependencies. |
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 add this to a post-link
script for greater visibility?
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.
OK, will look into this.
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 for taking a look @jakirkham!
Would you also have a GPU locally to try if the gpu-specific tests would run through?
# docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#major-components__table-cuda-toolkit-driver-versions | ||
# docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html#gpu-feature-list | ||
|
||
# the following are all the x86-relevant gpu arches; for building aarch64-packages, add: 53, 62, 72 |
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 propose to cross this bridge when we come to it. ;-)
My comment is the preparation 😋
@@ -8,7 +28,7 @@ fi | |||
# Build vanilla version (no avx) | |||
./configure --prefix=${PREFIX} --exec-prefix=${PREFIX} \ | |||
--with-blas=-lblas --with-lapack=-llapack \ | |||
${CUDA_CONFIG_ARG} | |||
${CUDA_CONFIG_ARG} --with-cuda-arch="${CUDA_ARCH}" || exit 1 |
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 tried this first of course, but couldn't get the quotes to get passed through correctly, and then the compilation would fail.
For best performance, the maintainers of the package | ||
[recommend](https://github.com/conda-forge/staged-recipes/pull/11337#issuecomment-623718460) | ||
using the MKL implementation of blas/lapack. You can ensure that this is installed | ||
by adding "libblas =*=mkl" to your dependencies. | ||
by adding "libblas =*=*mkl" to your dependencies. |
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.
OK, will look into this.
@h-vetinari I've followed your instructions here but for some reason it's not picking up the cuda compiler version when I run the I've also updated the valid configs are {'linux_cuda_compiler_versionNone', 'osx_'}
config not selected, please choose from the following:
1. linux_cuda_compiler_versionNone
2. osx_
> I should point out that I'm on Centos7. |
@cjnolet |
@cjnolet, do you have |
Merging this, let's try how it fares in real life. Post-link script can be added in another PR. |
With the disk space issues figured out now, GPU builds for faiss have been live for ~2 days. Has anyone had a time to give them a twirl so far? |
We tried. Unfortunately it looks like we are missing some packages for CUDA 10.1 and 10.2. Raised as issue ( #9 ). |
Now that #9 is closed, would you mind re-trying? 🙂 |
Yep, certainly. Thanks for the help here @h-vetinari 😄 |
Checklist
0
(if the version changed)conda-smithy
(Use the phrase@conda-forge-admin, please rerender
in a comment in this PR for automated rerendering)Follow-up from conda-forge/staged-recipes#11337.