ConcreteML: How to avoid downloading Nvidia binaries?

Hello everyone,

Since Concrete ML with all dependencies is about 6 GB in size, I was wondering if there is a relatively easy way to just pull in some parts, e.g. not pulling in Nvidia cuda binaries, not pulling in Torch etc.

Use case for this would be just using Concrete ML on CPU and with just machine learning models like LinearRegression, LogisticRegression etc.

Thanks

I’m afraid there is no easy solution to this. The NVIDIA libraries are needed by PyTorch. I suggest experimenting with the custom PyTorch repo indexes using the pip --extra-index-url parameter.

I’ve got it working with just CPU version of PyTorch.

Here’s a little guide, if anyone runs into this:

  1. Find the required version of PyTorch for your env (e.g. 1.8.0 ConcreteML requires PyTorch 2.3.1) from here: hxxps://pytorch.org/get-started/previous-versions/ , look for CPU only package.

  2. Run the install command pip install torch==2.3.1 --index-url hxxps://download.pytorch.org/whl/cpu

  3. After that install ConcreteML pip install concrete-ml==1.8.0

Note: replace hxxps with https, I cannot insert links.

1 Like