-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
[BUG] No matching distribution found for triton==1.0.0 #1710
Comments
@stas00, I actually came across this problem myself earlier this month but for a different package. I can describe the full problem if you want, but I think the problem I encountered has a slightly different cause. Looking at # On x86_64 macOS 11:
$ pip index versions triton
triton (0.3.0)
Available versions: 0.3.0, 0.2.3, 0.2.2, 0.2.1, 0.2.0, 0.1.3, 0.1.2, 0.1.1, 0.1
# On x86_64 CentOS 7:
$ pip index versions triton
triton (1.1.1)
Available versions: 1.1.1, 1.1.0, 1.0.0, 0.4.2, 0.4.1, 0.3.0, 0.2.3, 0.2.2, 0.2.1, 0.2.0, 0.1.3, 0.1.2, 0.1.1, 0.1
INSTALLED: 1.0.0
LATEST: 1.1.1 Versions of Triton past |
pip finally added I think it's something else here, since I do see 1.0.0 on JeanZay:
but during manual build for some reason it sees only some of those:
and I can install:
so what it looks like is that perhaps when pip install is called it calls |
Super interesting, thanks @aphedges and @stas00 for context here. @stas00, from a Big Science perspective I think this latest PR #1727 should resolve the issue for you guys. We also were running into this strange triton install issue on one of our nodes internally. Due to your issue and ours we reverted Sparse Attention (which requires triton) to be manually added add install time. Since Big Science isn't even using Sparse Attention you shouldn't need to install triton anyway. |
I figured it out. It's a bug in pip's How I discovered it:
which gave a much more detailed log, which included dozens of these:
So in details when using We probably should document this to install the dependency manually?
but as you replied while I was writing this perhaps it's no longer an issue. In which case we can safely close this Issue. |
@stas00, that's interesting! I was not aware of the I've never actually compiled DeepSpeed with either of these options. I wonder if the lack of |
it's an equivalent of I wish The latter enables: So what you're doing is:
but getting pip to do it for you as part of its install. You can install One of the main problem with JIT build is that it installs the cuda kernels into the same location under |
I forgot it was from I was unaware that it's essentially calling I always compile with |
If it is then what is the modern way and such that allows parallel builds? Ninja isn't great here since it doesn't parallelize small project builds. But it's used for JIT build of pytorch CUDA extensions. e.g. see here my attempts to speed up Megatron-Lm which has just 4 cuda kernels and barely 2 files each pytorch/pytorch#68923,
That's right. That's actually the main reason I prebuild as I have many cuda envs with different pytorch builds. Now I remember why ! |
I don't know what to do instead. From a very short search, the best I can find is https://discuss.python.org/t/the-difference-between-python-setup-py-build-ext-i-and-pip-install-e/3716/12 and pypa/setuptools#3025. At least the deprecation period should be long enough for a replacement to be made. I was unaware of those details of Ninja. I haven't written any CUDA code myself, so I've mostly managed to avoid learning the details of CUDA build systems. Good to know about its performance, though. |
BTW, I run into this problem everywhere I try to pre-build, so it's not JeanZay-specific. It clearly has to do with some limitation imposed by
update: it looks like I had an old deepspeed, updating it it no longer appeared. |
@aphedges, I am actually not at all sure
I did find this discussion https://news.ycombinator.com/item?id=26159509 where the key phrase is:
But! It'll take years before deepspeed will be able to drop support for python 3.6, so why worry about python 3.12. Even if python 3.12 removes distutils they will make them available as a 3rd party package to support projects that rely on those tools and can't cut-off older python versions. And given that they provide ziltch docs on how to replace |
Since #1727 dealt with this issue I'm closing this. Thank you Alex and Jeff! |
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Once I manually do:
it then works.
Not sure why the manual build doesn't take care of figuring out the requirements.
@jeffra
The text was updated successfully, but these errors were encountered: