Skip to content

Build scripts for pip wheels - #1036

Merged
ksivaman merged 47 commits into
NVIDIA:mainfrom
ksivaman:wheels
Jul 25, 2024
Merged

Build scripts for pip wheels#1036
ksivaman merged 47 commits into
NVIDIA:mainfrom
ksivaman:wheels

Conversation

@ksivaman

@ksivamanksivaman commented Jul 23, 2024

Copy link
Copy Markdown
Member

Description

Miscellaneous build fixes and improvements for shipping wheels.

Type of change

  • Documentation change (change only to the documentation, either a fix or a new content)
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Infra/Build change
  • Code refractor

Changes

  • Remove linking to cudnn and nvrtc and instead load them dynamically (NVRTC specifically has SOs for minor cuda versions as well). libtransformer_engine.so needs to define the symbol for cudnn_dlhandle.
  • Fix wheel builds for JAX as a refactor in [JAX] Splitting csrc/modules.cpp by category #883 broke this.
  • Resolve edge cases which result in .so conflicts when downloading from pip vs building locally.
  • Remove residual packages that are generated under dist-packages or site-packages during framework only dists.
  • Add scripts for generating files for wheel upload.
  • Use MANIFEST to properly include necessary files for source distributions without polluting global package namespace.
  • One TE/paddle wheel per python version.
  • Add sanity tests in CI to test wheel build workflow.
  • Fix GH workflow for paddle build.
  • Make python independent wheel for core lib.

Checklist:

  • I have read and followed the contributing guidelines
  • The functionality is complete
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes

ksivaman added 20 commits July 10, 2024 07:22
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
@ksivaman
ksivaman marked this pull request as draft July 23, 2024 02:47
pre-commit-ciBotand others added 6 commits July 23, 2024 02:48
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
@ksivaman
ksivaman requested a review from timmoon10July 23, 2024 20:24
@ksivamanksivaman self-assigned this Jul 23, 2024
ksivamanand others added 7 commits July 23, 2024 23:16
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
@ksivaman
ksivaman marked this pull request as ready for review July 24, 2024 00:17
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Comment threadtransformer_engine/common/__init__.py
Comment threadtransformer_engine/common/__init__.py
Comment threadtransformer_engine/jax/__init__.py Outdated
Comment threadtransformer_engine/pytorch/__init__.py Outdated
Comment threadqa/L0_paddle_wheel/test.sh
Comment threadtransformer_engine/common/pycudnn.cpp Outdated
ksivamanand others added 9 commits July 24, 2024 13:41
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>

@timmoon10timmoon10 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. One step closer to pip install transformer_engine

@ksivaman

Copy link
Copy Markdown
MemberAuthor

Pipeline 16890187

@ksivaman
ksivaman merged commit 0981357 into NVIDIA:mainJul 25, 2024
This was referenced Jul 25, 2024
ksivaman added a commit that referenced this pull request Jul 25, 2024
* Specify python version
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* Add classifiers for python
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* Add utils to build wheels
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* make wheel scripts
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* Add aarch
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* Fixes
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* Fix paddle wheel
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* PaddlePaddle only builds for x86
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* Add optional fwk deps
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* Python3.8; catch install error
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* [wip] cudnn9 compile with paddle support
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* [wip] dont link cudnn
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* dlopen cudnn
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* fixes
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* fix
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* Fixes
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* fix
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* dynamically load nvrtc
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Lint
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* remove residual packages; exclude stub from nvrtc .so search
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* Exclude builtins from nvrtc .so search
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* properly include files for sdist
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* paddle wheel tie to python version
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* Fix paddle build from src [wip]
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* Fix workflow paddle build
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fix paddle
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* Fix paddle
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* fix lint from pr986
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* fix
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* Add sanity wheel test
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* Add sanity import to wheel test
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* remove upper limit on paddlepaddle version
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* Remove unused imports
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* Remove pybind11 dependency
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* Fix cpp tests
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* Search .sos in cuda home
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fixes
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
* CLeanup, remove residual code
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
---------
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@ksivaman@timmoon10