Skip to content
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

CUDA runtime dependencies are slimmed down #235

Closed
sfiruch opened this issue Dec 16, 2022 · 2 comments · Fixed by #273
Closed

CUDA runtime dependencies are slimmed down #235

sfiruch opened this issue Dec 16, 2022 · 2 comments · Fixed by #273
Assignees
Labels
enhancement New feature or request prio-med Medium priority

Comments

@sfiruch
Copy link
Member

sfiruch commented Dec 16, 2022

Currently, we install approx. 2.8GB dependencies, because of CUDA. Most of the cuda things (NSight, etc.) are not really required for our use case. Perhaps we can only install the strictly required subset to reduce the install size and time.

Probably many lib* are required, but UI tools are most certainly not required.

@sfiruch sfiruch added enhancement New feature or request prio-med Medium priority labels Dec 16, 2022
@sfiruch sfiruch added this to the 0.13 (January 2023) milestone Dec 16, 2022
@kenfus
Copy link
Member

kenfus commented Dec 29, 2022

Sadly, you are unable to define channels in the meta.yaml for the package-building as described here: conda/conda-build#532 (comment)

This means that because nvidia is using channels for their versioning, our installation for karabo will look something like this:

conda install -c i4ds -c conda-forge -c nvidia/label/cuda-11.7.0 karabo-pipeline

EDIT: Actually, now I understand why they use channels: Just by adding one channels you define the cuda version for all the cuda-packages you install. Smart!

@sfiruch
Copy link
Member Author

sfiruch commented Jan 16, 2023

Karabo gets bigger and bigger due to more functionallity.

Here is the top 10:

  1. nsight-compute-2022.2.0.13-0.json: "size": 485381969,
  2. libcublas-dev-11.10.1.25-h0c8ac2b_0.json: "size": 324267418,
  3. libcusparse-dev-11.7.3.50-hc644b96_0.json: "size": 315781272,
  4. libcublas-11.10.1.25-he442b6f_0.json: "size": 314450443,
  5. libcufft-dev-10.7.2.50-h59a5ac8_0.json: "size": 205997732,
  6. libcusparse-11.7.3.50-h6aaafad_0.json: "size": 155592022,
  7. libnpp-11.7.3.21-h3effbd9_0.json: "size": 124218053,
  8. libnpp-dev-11.7.3.21-hb6476a9_0.json: "size": 121327534,
  9. cuda-nvvp-11.7.50-hd2289d5_0.json: "size": 119873153,
  10. cuda-nsight-11.7.50-0.json: "size": 119141042,

I checked the karabo_dev_env with the following command: grep '"size":' ${CONDA_PREFIX}/conda-meta/*.json | sort -k3rn | sed 's/.*conda-meta\///g' | column -t

Nvidia nsight for example is a GPU profiler - we have it twice in the top 10, place 1 & 10 with around 600MB in total.

@kenfus kenfus linked a pull request Jan 17, 2023 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request prio-med Medium priority
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants