-
-
Notifications
You must be signed in to change notification settings - Fork 24
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
cuGraph dependency #112
Comments
Can't we just copy & paste RAPIDS's recipe to CF, and make sure they're always in sync? I fail to see why this is complicated. Another question: How large is libcugraph in size (for which I obviously refer to the shared library, not code)? |
Yeah that is option 2 |
I know, I mean I don't see why it is difficult. Is there something special in the rapids channel? |
It's more work for people to maintain it in 2 places |
Answering myself: It's getting quite large, about 50~90MB, see https://anaconda.org/rapidsai/libcugraph/files. Doesn't seem to be a good idea to bundle it in CuPy... |
I think your option 4 is not mutually exclusive to other options. In fact I think it's following the plan we have for other optional dependencies (cudnn, nccl, cutensor, see #109), so perhaps we can do the same for libcugraph? Of course, I am speaking from the perspective of a recipe maintainer. Ultimately it depends on how it's used in upstream. |
How about mixing ideas 1 and 4?
The downsides is that version restrictions cannot be applied to libcugraph. Maybe upstream fix (check libcugraph version is compatible in cupy side) is needed. |
My understanding is that the problem is conda-forge doesn't allow packages from 3rd-party channels, maybe @jakirkham can confirm that. Otherwise, this is what I also had in mind in the beginning, so if it's possible, I'm +1 for that. |
Mixing channels would open a can of worms. Over the years we learned in the hard way that it must be avoided, unfortunately. I am not willing to maintain such an error-prone approach. |
John might have a point on this. It takes some work to port this recipe to Conda-Forge: |
FWIW, our current recipe no longer depends on So it sounds like for the approach of copying the recipe to CF, it would actually require copying both |
Sounds like a viable path to me! |
Unfortunately in addition to |
There is some discussion going on about using RAPIDS cuGraph for some of the graph operations that will be add to CuPy (mirroring APIs of this in SciPy) ( cupy/cupy#4219 ). One of the questions that comes out of this is how we handle the dependency for the
cupy
package. This depends a bit on how CuPy uses cuGraph (as such this is not totally flushed out). In any event am raising here for awareness/early discussion about how to handle this issue. Here are some thoughts on how this dependency gets managed:dlopen
, or similar; this depends on how cuGraph is used by CuPy)These are very rough ideas and likely subject to change, but hopefully this starts the discussion. Should add the typical response to adding packages from other channels in conda-forge is no this is not an option. IOW 1 is not likely feasible, but have listed it for completeness anyways. 2 likely has challenges as well as there is an open question of who would maintain this and may lead to duplicated effort (RAPIDS will likely still build this in its own channel anyways). 3 would increase the complexity of the build here (and possibly for CuPy wheels depending on how it is done). 4 may increase the complexity of code added to CuPy. If others have different suggestions on how to handle these issue, that would be welcome
cc @rlratzel @pentchev @anaruse @kmaehashi @leofang
The text was updated successfully, but these errors were encountered: