-
Notifications
You must be signed in to change notification settings - Fork 48
Modernize conda environment #34
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
base: main
Are you sure you want to change the base?
Conversation
all tests pass, predictions seem to be correct corresponds to a modernized conda environment following best practices
This is useful to avoid the need to install it in conda environments
…dependency" This reverts commit 609abb2.
This reverts commit cf69912.
… environment" This reverts commit cb72a49. It works but we also need to patch a few things further.
|
Thank you for the draft! |
incomplete, we might not need the native sources from upstream commit df59f203f40c8a292dd019ae68c9e6c88f107026
incomplete, we might not need the native sources from upstream commit df59f203f40c8a292dd019ae68c9e6c88f107026
…ks from pixi environment
…llal/openfold-3 into modernize-conda-environment
…llal/openfold-3 into modernize-conda-environment
|
DeepSpeed accepted our first upstream fix regarding the ninja detection (deepspeedai/DeepSpeed#7687). Once a new version is released, this should allow us to get rid of the PyPI ninja dependency. Of course, this fix will only come into play if we decide against the vendoring approach. |
|
As of 2024/12/01, packages still installed from pypi after installing openfold3 in devel/editable mode: To investigate
Proposed solution: remove aria2 from pypi dependencies, as it is currently unused in OF3 codebase. The pypi package is an old convenience and should in general not be used to install aria2, as it is not even such big of a convenience. Because of cuequivariance_ops_torch_cu12
These should at the very least aligned with the CF version, but likely it is best to just install all from pypi until we understand how to deal with the license. The key question is what to do with libcublas, maybe we should add synonyms to parselmouth in pixi - although I am not 100% sure these two packages are 100% binary compatible. Currently the biggest block to have a conda package with these is their LICENSE. See also: NVIDIA/cuEquivariance#218 It could be interesting to see if openequivariance could be a viable alternative: Because of mkl
Proposed solution: remove mkl from pypi dependencies, as it is actually unused (pytorch links it statically, numpy and scipy are not build against it and do not dynamically dispatch). |
Summary
Adds a modern conda environment following best practices to improve the quality of life of conda users.
The environment is self-contained, including a sane toolchain to build extensions fully compatible with the rest of dependencies, and with batteries included (inference, bioinformatics, fast kernels, dev dependencies).
We maintain a pixi workspace and an automatically generated conda environment for non-pixi users.
We still need to iron-out four known problems (see overcomments in pixi.toml and upcoming issues) and add documentation.
From here, creating conda-forge openfold3 package and bioconda openfold3-extra should be simple enough.
Changes
Related Issues
TBC
Testing
Current environment passes all tests and produce sensible predictions.
Other Notes
This is exploratory at the moment. Will cleanup commit history or open a clean PR when we are done.