-
Notifications
You must be signed in to change notification settings - Fork 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
Publish DGL Package in conda-forge channel #5718
Comments
Should we move the discussion to #1855 ? |
Hey @BarclayII I have been working on getting a build going on here conda-forge/staged-recipes#22691 an extension of the now stale conda-forge/staged-recipes#18620. The build is still quite WIP. You can see the CMake changes I have been making to get this to work on my branch https://github.com/hmacdope/dgl/tree/conda-forge3 . I would appreciate any help / feedback on the recipe as I go. I have been building the 0.8.2 version due to some CUB/Thrust versioning issues documented in #1855 but I am guessing we will probably either vendor CUB/Thrust or somehow link against |
This issue has been automatically marked as stale due to lack of activity. It will be closed if no further activity occurs. Thank you |
This issue has been automatically marked as stale due to lack of activity. It will be closed if no further activity occurs. Thank you |
Hi all, particularly (@jermainewang @BarclayII @bgawrych @hadim @mikemhenry) There is now a conda-forge package for DGL 1.1.0! 😄 🎉 Try it out with:
Thanks so much to @mikemhenry for doing most of the heavy lifting. There were significant CMake patches required to satisfy the conda setup as well as two additional smaller patches. I have attached them here. Going forward, should you be amenable, I think we should upstream as many of these changes as possible. 1. My branch My next steps were going to be:
Let me know if you have feedback on this course of action or would like to approach things differently. Cheers, Hugo |
Just as a note, this patch https://github.com/conda-forge/dgl-feedstock/blob/main/recipe/fix_libdgl_sparse_pytorch_location_logic.patch was kind of a hack to fix some weird issues I was seeing, with the way conda-forge does the builds, we will only ever build one version of PyTorch against dlg_sparse, so it is safe to just grab the one we built. I don't think we should upstream that one and we should make dgl.sparse it's own conda-forge package if it is meant to be stand alone |
Wow, this is indeed a great amount of work! Please accept my hats off! @hmacdope @mikemhenry . @frozenbugs Please remember to highlight this in our next release and also follow up with this to see how to incorporate those changes to our cmake. |
1.1.1 is live now! Again if you want to loop in the branch its |
I tried to install it. It does not work.
|
@Atcold It looks like you are on If you want to give this a spin on a M1/M2 mac, you can do this:
That will create a conda env using apple's Rosetta 2 emulation for x86-64. |
Oh, I see! Thanks! I followed these instructions and I got a working environment. |
I believe installing the wheel from the repo like that does not use emulation since there are wheels listed like this dgl-1.1.2-cp39-cp39-macosx_11_0_arm64.whl which implies arm64 native builds. |
Oh, so this would be an even better solution, correct? |
Sorry to be responding on both threads 🙃 "better solution" is a relative term. If you want to play around with Emulation will be slower than native, but I image that when performance really matters, you will be running something on a linux HPC or workstation that has a CUDA gpu or something. |
This issue has been automatically marked as stale due to lack of activity. It will be closed if no further activity occurs. Thank you |
1.1.2 is now on conda-forge, so we can close this issue. |
Publish DGL Package in conda-forge channel
Abstract
The proposal recommends adding the DGL (Deep Graph Library) package to the conda-forge channel. This move will benefit the open-source community in multiple ways. Firstly, it will make it easier for users to install and manage DGL while ensuring compatibility with other libraries from the same channel. Secondly, it will enable faster updates, promote collaboration, and improve overall accessibility of the library.
Motivation
The motivation behind publishing the DGL package in the conda-forge channel is to address library dependency conflicts commonly encountered when managing dependencies from different sources. By including DGL in conda-forge, users can install and use DGL alongside other packages without encountering compatibility issues. This simplifies the management of dependencies and provides a reliable and consistent environment for users. The publication of DGL in conda-forge aims to enhance the accessibility, usability, and collaboration within the DGL community while mitigating the risks associated with library dependency conflicts.
Advantages of Publishing DGL in conda-forge
Dependency Compatibility: The publication of the DGL package in conda-forge guarantees compatibility with other libraries in the channel, which users can depend on. conda-forge uses strict testing and quality assurance procedures to ensure that packages function smoothly together. This results in a stable and dependable environment for users, free from conflicts and compatibility problems.
Package Manager Integration: conda-forge, as a well-integrated platform with widely-used package managers such as Conda and Mamba, provides a seamless integration opportunity. By publishing the DGL package in the conda-forge channel, users will gain effortless access to the library, enabling them to manage DGL seamlessly within their current environments and alongside their existing packages. This integration not only promotes collaboration but also enhances interoperability with other Python libraries, ultimately strengthening the overall ecosystem.
Cross-Platform Compatibility: conda-forge supports various operating systems, such as Windows, macOS, and Linux distributions. The publication of DGL in the conda-forge channel guarantees that users on different platforms can effortlessly access and use DGL.
Faster Updates and Bug Fixes: conda-forge provides an automated build system, ensuring that the DGL package is regularly updated to the latest stable release. Once the DGL package is published in conda-forge, the automated build process track PyPI/GitHub releases and ensures that updates, including new features, bug fixes, and performance improvements, are promptly incorporated into the package. This allows users to effortlessly keep their installations up-to-date and benefit from the latest advancements in DGL.
Links:
The text was updated successfully, but these errors were encountered: