Skip to content

[FEA] reduce libcuvs binary size #735

Description

@jameslamb

Is your feature request related to a problem? Please describe.

As of this writing, the latest 25.04 libcuvs wheels have the following sizes:

distributionarchsize (compressed)size (uncompressed)
libcuvs-cu11x86_64948 MiB1377 MiB
libcuvs-cu11aarch64999 MiB1378 MiB
libcuvs-cu12x86_641129 MiB1626 MiB
libcuvs-cu12aarch641128 MiB1628 MiB

NOTE: v25.4.0a84, latest 25.04 nightly as of Feb 27, 2025

how I got those sizes (click me)

Downloaded wheels from https://pypi.anaconda.org/rapidsai-wheels-nightly/simple/libcuvs-cu12 and https://pypi.anaconda.org/rapidsai-wheels-nightly/simple/libcuvs-cu11.

pydistcheck \
--inspect \
--output-file-size-unit Mi \
--output-file-size-precision 1 \
--select 'distro-too-large-compressed' \
./libcuvs-wheels/*.whl

Such large packages require a relatively large amount of network bandwidth to download and disk space to store.

This issue tracks the work of reducing those sizes.

Describe the solution you'd like

Those package sizes should be reduced. It's tough to say how small is small enough, but the goal "get wheels on pypi.org" provides one set of targets.

PyPI requirements for individual files:

There are also limits for the total size of a project, summed over all releases... so smaller packages = more releases that can be hosted on PyPI.

Describe alternatives you've considered

Some ideas for how to address this:

Additional context

Attaching a report @robertmaynard put together showing the approximate contribution to total binary size of each CUDA kernel in libcuvs.

size.log

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions