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

File Limit Request: tensorrt - 1000 MB #2609

Closed
3 tasks done
zeroepoch opened this issue Feb 16, 2023 · 5 comments
Closed
3 tasks done

File Limit Request: tensorrt - 1000 MB #2609

zeroepoch opened this issue Feb 16, 2023 · 5 comments
Assignees
Labels
limit request status: awaiting response Needs more information before proceeding

Comments

@zeroepoch
Copy link

Project URL

https://pypi.org/project/tensorrt/

Does this project already exist?

  • Yes

New Limit

1000

Update issue title

  • I have updated the title.

Which indexes

PyPI, TestPyPI

About the project

NVIDIA TensorRT has been in development for over 6 years and is now up to version 8.5. We first started with wheels on our own index, but we started pushing wheels to PyPI.org a few releases ago, so users would have an easy time installing TensorRT and other Python projects that depend on TensorRT wouldn't have to go through complications to depend on it.

We don't bundle any files that are outside of our project. We do depend on some other large Python projects which has allowed us to reduce the size of our wheel files some. We have tried to apply more extensive compression, strip more symbols from pre-compiled libraries, but due to new features supported by NVIDIA CUDA 12.0 the size has increased. We are working with other internal library teams to try and reduce our pre-compiled library sizes, but it's not possible without significant development that will take multiple releases.

We do not bundle any sample data in our wheel file and samples are fetched from another location (GitHub).

Reasons for the request

Our last TensorRT release (version 8.5.x) was 550M. Our upcoming release is trending toward 850M, which will exceed the previous limit of 800M that was requested by NVIDIA. We are requesting an increase to the limit so our next release can be pushed successfully. We are aware that 1GB is a hard limit, which is why we are working with internal teams as mentioned above to cut the size down over the next few releases.

Code of Conduct

  • I agree to follow the PSF Code of Conduct
@pradyunsg
Copy link
Contributor

#1856 is a past request about this.

@cmaureir
Copy link
Member

Hey @zeroepoch thanks for the report.
At the moment, I saw the last release include wheels for Python 3.6, 3.7, 3.8, 3.9, and 3.10, each one is around 500M, it really feels like you could benefit a lot by incorporating the Limited API https://docs.python.org/3/c-api/stable.html so you would have only one wheel for linux, from 3.6 onward.

Having only one wheel for Linux (Python 3.6+) will reduce your release size quite a lot, have you considered? I suspect that if you continue like you have been doing it, you might reach the project limit in the next release.

@cmaureir cmaureir added the status: awaiting response Needs more information before proceeding label Feb 26, 2023
@zeroepoch
Copy link
Author

@cmaureir, TensorRT is using pybind11 to build our Python bindings and from what I'm reading in pybind/pybind11#1755 they don't have plans to allow an option or feature to use only the limited API. We do have some plans for next release to reduce the wheel size, maybe using a source package instead that has a downloader inside. Although, for our next release we will not be able to resolve the immediate wheel size issue and will still need to increase the file limit. We understand we need a different solution in the future to avoid the project limit.

@cmaureir
Copy link
Member

cmaureir commented Mar 1, 2023

Thanks for your answer @zeroepoch 👍
The downloader inside is also a popular technique that can help you reduce the large size of the current wheels.

I've set the upload limit for tensorrt to 1000 MB on PyPI. I couldn't on TestPyPI because the project doesn't exist, if you would like to create it and ask for a limit increase, please upload an empty project first.
Please be mindful of the frequency of releases at that size, you are almost reaching the project limit.
Have a nice rest of the week

@cmaureir cmaureir closed this as completed Mar 1, 2023
@zeroepoch
Copy link
Author

@cmaureir, I forgot that we don't have a TestPyPI project for this module yet. You can ignore that request for now and I'll create a new issue if needed when that time comes. Hopefully it won't.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
limit request status: awaiting response Needs more information before proceeding
Projects
None yet
Development

No branches or pull requests

3 participants