ray
ray copied to clipboard
Support static conda envs using conda-pack
Currently we only support dynamically-installed conda environments, but that is not well-suited for production usage.
@jiaodong I think we should make this a requirement for OSS jobs release.
runtime_env = {"conda": "s3://path-to-conda-pack-archive.zip"}
Hi @edoakes
What do think about adding to this requirement the support for "dynamic resolved" conda envs specified by .txt
file ( similar to pip
) while we are it ?
This is [also] well suited production for faster launch and faster env creation ( no SAT solution required, just download ).
By "dynamic resolved" I mean .txt
files with explicit URLs, e.g. -
(1)
For existing conda envs
$ conda list --explicit
# $ conda create --name <env> --file <this file>
# platform: osx-64
@EXPLICIT
https://conda.anaconda.org/conda-forge/osx-64/ca-certificates-2022.12.7-h033912b_0.conda
https://conda.anaconda.org/conda-forge/osx-64/jpeg-9e-hac89ed1_2.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/libcxx-14.0.6-hccf4f1f_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/libiconv-1.17-hac89ed1_0.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/libsodium-1.0.18-hbcb3906_1.tar.bz2
https://conda.anaconda.org/conda-forge/osx-64/libzlib-1.2.13-hfd90126_4.tar.bz2
...
(2)
created from a given
environment.yml
using conda-lock
$ conda-lock --kind explicit -p linux-64 -f
$ head -10 conda-linux-64.lock
# Generated by conda-lock.
# platform: linux-64
# input_hash: 9590c6d89a921ed4df0b033e146e0ec3dbc0ac522afc30ffa212e5b7e9006b53
@EXPLICIT
https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2#d7c89558ba9fa0495403155b64376d81
https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2022.12.7-ha878542_0.conda#ff9f73d45c4a07d6f424495288a26080
https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.39-hcc3a1bd_1.conda#737be0d34c22d24432049ab7a3214de4
https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-12.2.0-h46fd767_19.tar.bz2#1030b1f38c129f2634eae026f704fe60
https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.9-3_cp39.conda#0dd193187d54e585cac7eab942a8847e
https://conda.anaconda.org/conda-forge/noarch/tzdata-2022g-h191b570_0.conda#51fc4fcfb19f5d95ffc8c339db5068e8
Any updates on this one?
This will be very useful for us! In our case, we are currently using Triton inference server with python-backend (which uses conda-pack environement file *.tar.gz), supporting the same would allow us re-use the environment and launch models made for triton with ray. See here: https://github.com/triton-inference-server/python_backend#creating-custom-execution-environments