@@ -155,18 +155,38 @@ commands:
155
155
platform :
156
156
type : string
157
157
default : " x86_64"
158
+ release :
159
+ type : boolean
160
+ default : false
158
161
steps :
159
162
- run :
160
- name : Build torch-tensorrt python release
163
+ name : Build setup
161
164
command : |
162
- mv toolchains/ci_workspaces/WORKSPACE.<< parameters.platform >> WORKSPACE
163
- cd py
165
+ mv ~/project/toolchains/ci_workspaces/WORKSPACE.<< parameters.platform >> ~/project/WORKSPACE
164
166
python3 -m pip install wheel setuptools
165
167
python3 -m pip install pybind11==2.6.2
166
- python3 setup.py bdist_wheel --use-cxx11-abi
167
- python3 setup.py install --use-cxx11-abi
168
- mkdir -p /tmp/dist/builds
169
- cp dist/* /tmp/dist/builds
168
+ - when :
169
+ condition : << parameters.release >>
170
+ steps :
171
+ - run :
172
+ name : Build torch-tensorrt python release package
173
+ command : |
174
+ cd ~/project/py
175
+ python3 setup.py bdist_wheel --use-cxx11-abi --release
176
+ python3 setup.py install --use-cxx11-abi --release
177
+ mkdir -p /tmp/dist/builds
178
+ cp dist/* /tmp/dist/builds
179
+ - unless :
180
+ condition : << parameters.release >>
181
+ steps :
182
+ - run :
183
+ name : Build torch-tensorrt python package
184
+ command : |
185
+ cd ~/project/py
186
+ python3 setup.py bdist_wheel --use-cxx11-abi
187
+ python3 setup.py install --use-cxx11-abi
188
+ mkdir -p /tmp/dist/builds
189
+ cp dist/* /tmp/dist/builds
170
190
171
191
build-py-fx-only :
172
192
description : " Build the torch-tensorrt python release with only the fx backend"
@@ -579,6 +599,150 @@ jobs:
579
599
- dump-test-env
580
600
- test-fx
581
601
602
+ package-x86_64 :
603
+ parameters :
604
+ enabled :
605
+ type : boolean
606
+ default : false
607
+ torch-build :
608
+ type : string
609
+ torch-build-index :
610
+ type : string
611
+ machine :
612
+ image : ubuntu-2004-cuda-11.4:202110-01
613
+ resource_class : xlarge
614
+ steps :
615
+ - when :
616
+ condition : << parameters.enabled >>
617
+ steps :
618
+ - checkout
619
+ - run :
620
+ name : " Build packaging container"
621
+ command : |
622
+ cd ~/project/py/
623
+ docker build -t torch_tensorrt_release_env --build-arg trt_version=<< pipeline.parameters.trt-release-version-short >> -f ci/Dockerfile.ci .
624
+ - run :
625
+ name : Build Python packages and pre-cxx11-abi tarball
626
+ command : |
627
+ cd ~/project/py/
628
+ cp ~/project/toolchains/ci_workspaces/WORKSPACE.x86_64.release.rhel ~/project/WORKSPACE
629
+ docker run -it --rm -v ~/project:/workspace/project torch_tensorrt_release_env /bin/bash /workspace/project/py/ci/build_whl.sh
630
+ - create-env :
631
+ os : " ubuntu2004"
632
+ platform : " x86_64"
633
+ cudnn-version : << pipeline.parameters.cudnn-release-version >>
634
+ trt-version-short : << pipeline.parameters.trt-release-version-short >>
635
+ bazel-version : " 5.1.1"
636
+ bazel-platform : " x86_64"
637
+ - run :
638
+ name : Build cxx11-abi tarball
639
+ command : |
640
+ set -e
641
+ cd ~/project/
642
+ cp ~/project/toolchains/ci_workspaces/WORKSPACE.x86_64.release.ubuntu ~/project/WORKSPACE
643
+ bazel build //:libtorchtrt -c opt --noshow_progress
644
+ sudo chown -R $(whoami) ~/project/py
645
+ CUDA_VERSION=$(cd ~/project/py/torch_tensorrt && python3 -c "from _version import __cuda_version__;print(__cuda_version__)")
646
+ TORCHTRT_VERSION=$(cd ~/project/py/torch_tensorrt && python3 -c "from _version import __version__;print(__version__)")
647
+ TRT_VERSION=$(cd ~/project/py/torch_tensorrt && python3 -c "from _version import __tensorrt_version__;print(__tensorrt_version__)")
648
+ CUDNN_VERSION=$(cd ~/project/py/torch_tensorrt && python3 -c "from _version import __cudnn_version__;print(__cudnn_version__)")
649
+ pip3 install -r ~/project/py/requirements.txt
650
+ TORCH_VERSION=$(python3 -c "from torch import __version__;print(__version__.split('+')[0])")
651
+ cp ~/project/bazel-bin/libtorchtrt.tar.gz ~/project/py/dist/libtorchtrt-${TORCHTRT_VERSION}-cudnn${CUDNN_VERSION}-tensorrt${TRT_VERSION}-cuda${CUDA_VERSION}-libtorch${TORCH_VERSION}-x86_64-linux.tar.gz
652
+ - run :
653
+ name : Collect packages
654
+ command : |
655
+ mkdir -p /tmp/dist/release
656
+ cp -r ~/project/py/dist/* /tmp/dist/release
657
+ - store_artifacts :
658
+ path : /tmp/dist/release
659
+ destination : x86_64-release-pkgs
660
+ - unless :
661
+ condition : << parameters.enabled >>
662
+ steps :
663
+ - run :
664
+ name : Skipped packaging
665
+ command : echo -e "Packaging stage not enabled"
666
+
667
+ package-jetson :
668
+ parameters :
669
+ enabled :
670
+ type : boolean
671
+ default : true
672
+ torch-build :
673
+ type : string
674
+ jetpack-version :
675
+ type : string
676
+ cxx11-abi :
677
+ type : boolean
678
+ default : true
679
+ python-version :
680
+ type : string
681
+ default : 3.8.10
682
+ machine :
683
+ image : ubuntu-2004:202201-02
684
+ resource_class : arm.xlarge
685
+ steps :
686
+ - checkout
687
+ # - run:
688
+ # name: Upgrade base
689
+ # command: |
690
+ # sudo apt clean
691
+ # sudo apt update
692
+ # sudo apt upgrade
693
+ # sudo apt install software-properties-common
694
+ - install-cuda :
695
+ os : " ubuntu2004"
696
+ platform : " sbsa"
697
+ cuda-pkg-name : " cuda-toolkit-11-4"
698
+ - run :
699
+ name : Install openblas
700
+ command : sudo apt install libopenblas-dev
701
+ - create-env :
702
+ os : " ubuntu2004"
703
+ platform : " sbsa"
704
+ cudnn-version : << pipeline.parameters.cudnn-jetson-version >>
705
+ trt-version-short : << pipeline.parameters.trt-jetson-version-short >>
706
+ bazel-version : " 5.1.1"
707
+ bazel-platform : " arm64"
708
+ - run :
709
+ name : Set python version
710
+ command : |
711
+ pyenv install << parameters.python-version >>
712
+ pyenv global << parameters.python-version >>
713
+ - run :
714
+ name : Install NGC Torch
715
+ environment :
716
+ TORCH_INSTALL : https://developer.download.nvidia.com/compute/redist/jp/v<< parameters.jetpack-version >>/pytorch/<< parameters.torch-build >>
717
+ command : |
718
+ set -e
719
+ python3 -m pip install --upgrade pip; python3 -m pip install setuptools wheel; python3 -m pip install expecttest xmlrunner hypothesis aiohttp numpy=='1.19.4' pyyaml scipy=='1.5.3' ninja cython typing_extensions protobuf; export "LD_LIBRARY_PATH=/usr/lib/llvm-8/lib:$LD_LIBRARY_PATH"; python3 -m pip install --upgrade protobuf; python3 -m pip install --no-cache $TORCH_INSTALL
720
+ - build-py-cxx11-abi :
721
+ platform : " sbsa"
722
+ release : true
723
+ - run :
724
+ name : Build cxx11-abi tarball
725
+ command : |
726
+ set -e
727
+ cd ~/project/py/
728
+ bazel build //:libtorchtrt -c opt --noshow_progress
729
+ CUDA_VERSION=$(cd torch_tensorrt && python3 -c "from _version import __cuda_version__;print(__cuda_version__)")
730
+ TORCHTRT_VERSION=$(cd torch_tensorrt && python3 -c "from _version import __version__;print(__version__)")
731
+ TRT_VERSION=$(cd torch_tensorrt && python3 -c "from _version import __tensorrt_version__;print(__tensorrt_version__)")
732
+ CUDNN_VERSION=$(cd torch_tensorrt && python3 -c "from _version import __cudnn_version__;print(__cudnn_version__)")
733
+ pip3 install -r ~/project/py/requirements.txt
734
+ TORCH_VERSION=$(python3 -c "from torch import __version__;print(__version__.split('+')[0])")
735
+ cp ~/project/bazel-bin/libtorchtrt.tar.gz ~/project/py/dist/libtorchtrt-${TORCHTRT_VERSION}-cudnn${CUDNN_VERSION}-tensorrt${TRT_VERSION}-cuda${CUDA_VERSION}-libtorch${TORCH_VERSION}-aarch64-linux-jp<< parameters.jetpack-version >>.tar.gz
736
+ - run :
737
+ name : Move to release dir
738
+ command : |
739
+ mkdir -p /tmp/dist/jetson
740
+ cp -r ~/project/py/dist/* /tmp/dist/jetson
741
+ - store_artifacts :
742
+ path : /tmp/dist/jetson
743
+ destination : aarch64-release-pkgs
744
+
745
+
582
746
parameters :
583
747
# Nightly platform config
584
748
torch-nightly-build :
@@ -631,6 +795,10 @@ parameters:
631
795
type : string
632
796
default : " 8.4.1.5"
633
797
798
+ enable-packaging :
799
+ type : boolean
800
+ default : false
801
+
634
802
# Invoke jobs via workflows
635
803
# See: https://circleci.com/docs/2.0/configuration-reference/#workflows
636
804
workflows :
@@ -642,14 +810,14 @@ workflows:
642
810
branches :
643
811
only :
644
812
- master
813
+ - release/**/*
645
814
jobs :
646
815
- build-aarch64-pyt-jetson :
647
816
torch-build : << pipeline.parameters.torch-jetson-build >>
648
817
jetpack-version : << pipeline.parameters.jetpack-version >>
649
818
python-version : 3.8.10
650
819
651
820
652
-
653
821
- build-x86_64-pyt-release :
654
822
torch-build : << pipeline.parameters.torch-release-build >>
655
823
torch-build-index : << pipeline.parameters.torch-release-build-index >>
@@ -684,8 +852,6 @@ workflows:
684
852
- build-x86_64-pyt-release
685
853
686
854
687
-
688
-
689
855
- build-x86_64-pyt-nightly :
690
856
torch-build : << pipeline.parameters.torch-nightly-build >>
691
857
torch-build-index : << pipeline.parameters.torch-nightly-build-index >>
@@ -719,13 +885,74 @@ workflows:
719
885
requires :
720
886
- build-x86_64-pyt-nightly
721
887
722
- on-push :
888
+ release :
889
+ when : << pipeline.parameters.enable-packaging >>
723
890
jobs :
724
891
- build-aarch64-pyt-jetson :
725
892
torch-build : << pipeline.parameters.torch-jetson-build >>
726
893
jetpack-version : << pipeline.parameters.jetpack-version >>
727
894
python-version : 3.8.10
728
895
896
+ - build-x86_64-pyt-release :
897
+ torch-build : << pipeline.parameters.torch-release-build >>
898
+ torch-build-index : << pipeline.parameters.torch-release-build-index >>
899
+
900
+
901
+ - test-core-cpp-x86_64 :
902
+ name : test-core-cpp-x86_64-pyt-release
903
+ channel : " release"
904
+ torch-build : << pipeline.parameters.torch-release-build >>
905
+ torch-build-index : << pipeline.parameters.torch-release-build-index >>
906
+ trt-version-short : << pipeline.parameters.trt-release-version-short >>
907
+ trt-version-long : << pipeline.parameters.trt-release-version-long >>
908
+ cudnn-version : << pipeline.parameters.cudnn-release-version >>
909
+ requires :
910
+ - build-x86_64-pyt-release
911
+
912
+ - test-py-ts-x86_64 :
913
+ name : test-py-ts-x86_64-pyt-release
914
+ channel : " release"
915
+ torch-build : << pipeline.parameters.torch-release-build >>
916
+ torch-build-index : << pipeline.parameters.torch-release-build-index >>
917
+ trt-version-long : << pipeline.parameters.trt-release-version-long >>
918
+ requires :
919
+ - build-x86_64-pyt-release
920
+
921
+ - test-py-fx-x86_64 :
922
+ name : test-py-fx-x86_64-pyt-release
923
+ channel : " release"
924
+ torch-build : << pipeline.parameters.torch-release-build >>
925
+ torch-build-index : << pipeline.parameters.torch-release-build-index >>
926
+ trt-version-long : << pipeline.parameters.trt-release-version-long >>
927
+ requires :
928
+ - build-x86_64-pyt-release
929
+
930
+
931
+ - package-x86_64 :
932
+ name : package-release-x86_64
933
+ enabled : << pipeline.parameters.enable-packaging >>
934
+ torch-build : << pipeline.parameters.torch-release-build >>
935
+ torch-build-index : << pipeline.parameters.torch-release-build-index >>
936
+ requires :
937
+ - test-core-cpp-x86_64-pyt-release
938
+ - test-py-ts-x86_64-pyt-release
939
+ - test-py-fx-x86_64-pyt-release
940
+
941
+ - package-jetson :
942
+ name : package-release-aarch64-jetson
943
+ enabled : << pipeline.parameters.enable-packaging >>
944
+ torch-build : << pipeline.parameters.torch-jetson-build >>
945
+ jetpack-version : << pipeline.parameters.jetpack-version >>
946
+ python-version : 3.8.10
947
+ requires :
948
+ - build-aarch64-pyt-jetson
949
+
950
+ on-push :
951
+ jobs :
952
+ - build-aarch64-pyt-jetson :
953
+ torch-build : << pipeline.parameters.torch-jetson-build >>
954
+ jetpack-version : << pipeline.parameters.jetpack-version >>
955
+ python-version : 3.8.10
729
956
730
957
731
958
- build-x86_64-pyt-release :
@@ -762,7 +989,6 @@ workflows:
762
989
- build-x86_64-pyt-release
763
990
764
991
765
-
766
992
- build-x86_64-pyt-nightly :
767
993
torch-build : << pipeline.parameters.torch-nightly-build >>
768
994
torch-build-index : << pipeline.parameters.torch-nightly-build-index >>
@@ -794,5 +1020,4 @@ workflows:
794
1020
torch-build-index : << pipeline.parameters.torch-nightly-build-index >>
795
1021
trt-version-long : << pipeline.parameters.trt-nightly-version-long >>
796
1022
requires :
797
- - build-x86_64-pyt-nightly
798
-
1023
+ - build-x86_64-pyt-nightly
0 commit comments