Skip to content

Commit

Permalink
Added TensorRT v8.0.1 (#4347)
Browse files Browse the repository at this point in the history
* Added TensorRT v8.0.1

* Added support for TensorRT on CUDA 10.2 on aarch64-linux-gnu

From the NVIDIA Jetson APT repo.

* Using CUDNN v8.2.1 for build, and specified compat="8.2"
  • Loading branch information
stemann authored Mar 16, 2022
1 parent f6d60b5 commit 3471774
Show file tree
Hide file tree
Showing 7 changed files with 100 additions and 0 deletions.
19 changes: 19 additions & 0 deletions T/TensorRT/build_10.2.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
platforms_and_sources = Dict(
Platform("x86_64", "linux") => [
ArchiveSource("https://developer.nvidia.com/compute/machine-learning/tensorrt/secure/8.0.1/tars/TensorRT-8.0.1.6.Linux.x86_64-gnu.cuda-10.2.cudnn8.2.tar.gz",
"110bbfd69fe27e298e1ad1bc35300569069ffeb8b691f48bcaf34703e1bafb96")],
Platform("aarch64", "linux") => [
FileSource("https://repo.download.nvidia.com/jetson/common/pool/main/t/tensorrt/libnvinfer-bin_8.0.1-1+cuda10.2_arm64.deb", "f4a98ac9086b4a195bcab26aca176a9db6b5a196ff42d3dfdb28a16d30e8a312"),
FileSource("https://repo.download.nvidia.com/jetson/common/pool/main/t/tensorrt/libnvinfer-dev_8.0.1-1+cuda10.2_arm64.deb", "f750c910a23107715dc2510d360725e46e9072079caacf3cec4255dd38bee849"),
FileSource("https://repo.download.nvidia.com/jetson/common/pool/main/t/tensorrt/libnvinfer-plugin-dev_8.0.1-1+cuda10.2_arm64.deb", "4dabae4f5ea8f3eb54dbd36cf3dde3d038fae2a857529b869844b05cec77092a"),
FileSource("https://repo.download.nvidia.com/jetson/common/pool/main/t/tensorrt/libnvinfer-plugin8_8.0.1-1+cuda10.2_arm64.deb", "71435b08b97346e2b0f568332c3440b8f6c00b5198f83ab5935f161aae39f8d8"),
FileSource("https://repo.download.nvidia.com/jetson/common/pool/main/t/tensorrt/libnvinfer8_8.0.1-1+cuda10.2_arm64.deb", "305c4482a315ceb59e514823b359fdeebfbdd5fa2124e277dd176589e2f49aea"),
FileSource("https://repo.download.nvidia.com/jetson/common/pool/main/t/tensorrt/libnvonnxparsers-dev_8.0.1-1+cuda10.2_arm64.deb", "6f477ab54c4fd646ab9f65baed0157dca7ca29de6bc7f992f5285d8baa30b5eb"),
FileSource("https://repo.download.nvidia.com/jetson/common/pool/main/t/tensorrt/libnvonnxparsers8_8.0.1-1+cuda10.2_arm64.deb", "8d4b0722515d91592e73dca2c43b798430bef4633b34d912324b53b63acf41ae"),
FileSource("https://repo.download.nvidia.com/jetson/common/pool/main/t/tensorrt/libnvparsers-dev_8.0.1-1+cuda10.2_arm64.deb", "b09864c351aebf2200fb98f48dc68b4a75260bbcd01423bbf1633acdc115b9be"),
FileSource("https://repo.download.nvidia.com/jetson/common/pool/main/t/tensorrt/libnvparsers8_8.0.1-1+cuda10.2_arm64.deb", "34040352c9f44611928a7d6aa6a7f885b6506a7b3310a8b9fc0782a9ba42037a"),
],
Platform("x86_64", "windows") => [
ArchiveSource("https://developer.nvidia.com/compute/machine-learning/tensorrt/secure/8.0.1/zip/TensorRT-8.0.1.6.Windows10.x86_64.cuda-10.2.cudnn8.2.zip",
"003cd632d978205de8b3140da743a9d39647ccb9959a1c219d34201d75a0a49e")],
)
1 change: 1 addition & 0 deletions T/TensorRT/build_11.0.jl
1 change: 1 addition & 0 deletions T/TensorRT/build_11.1.jl
1 change: 1 addition & 0 deletions T/TensorRT/build_11.2.jl
1 change: 1 addition & 0 deletions T/TensorRT/build_11.3.jl
14 changes: 14 additions & 0 deletions T/TensorRT/build_11.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
platforms_and_sources = Dict(
Platform("x86_64", "linux") => [
ArchiveSource("https://developer.nvidia.com/compute/machine-learning/tensorrt/secure/8.0.1/tars/TensorRT-8.0.1.6.Linux.x86_64-gnu.cuda-11.3.cudnn8.2.tar.gz",
"def6a5ee50bed25a68a9c9e22ec671a8f29ee5414bde47c5767bd279e5596f88")],
Platform("ppc64le", "linux") => [
ArchiveSource("https://developer.nvidia.com/compute/machine-learning/tensorrt/secure/8.0.1/tars/TensorRT-8.0.1.6.CentOS-8.3.ppc64le-gnu.cuda-11.3.cudnn8.2.tar.gz",
"fd33a32085c468f638505e2603936fa4e3f2a3fa46989570fa0b9e31a9e6914a")],
Platform("aarch64", "linux") => [
ArchiveSource("https://developer.nvidia.com/compute/machine-learning/tensorrt/secure/8.0.1/tars/TensorRT-8.0.1.6.Ubuntu-20.04.aarch64-gnu.cuda-11.3.cudnn8.2.tar.gz",
"ea322da72b1b1ca6b8d0715ab14668c54f7d00ad22695d41a85a7055df9f63e1")],
Platform("x86_64", "windows") => [
ArchiveSource("https://developer.nvidia.com/compute/machine-learning/tensorrt/secure/8.0.1/zip/TensorRT-8.0.1.6.Windows10.x86_64.cuda-11.3.cudnn8.2.zip",
"e51b382e931ae9032e431fff218cd2cf2d2b7a7c66c7a6bdf453557612466ae1")],
)
63 changes: 63 additions & 0 deletions T/TensorRT/build_tarballs.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
using BinaryBuilder, Pkg
using Base.BinaryPlatforms: arch, os

include("../../fancy_toys.jl")

name = "TensorRT"
version = v"8.0.1"

script = raw"""
cd ${WORKSPACE}/srcdir
if [[ ${bb_full_target} == aarch64-linux-gnu*cuda+10.2 ]]; then
apk add dpkg
ls *.deb | xargs -Ideb_file dpkg-deb -x deb_file tmp
mkdir -p $bindir $includedir $libdir
install -Dv --mode=755 tmp/usr/src/tensorrt/bin/* $bindir
install -Dv --mode=644 tmp/usr/include/$target/* $includedir
install -Dv --mode=755 tmp/usr/lib/$target/*.so* $libdir
install_license tmp/usr/share/doc/libnvinfer8/copyright
else
mkdir -p ${bindir} ${libdir} ${includedir}
cd TensorRT*
mv bin/* ${bindir}
mv include/* ${includedir}
mv lib/*.${dlext}* ${libdir}
if [[ ${target} == x86_64-w64-mingw32 ]]; then
chmod +x ${bindir}/*.{dll,exe}
install_license doc/TensorRT-SLA.pdf
else
install_license doc/pdf/TensorRT-SLA.pdf
fi
fi
"""

lib_names = [
"nvinfer",
"nvinfer_plugin",
"nvonnxparser",
"nvparsers"
]

products = vcat(
[LibraryProduct(["lib" * lib_name, lib_name], Symbol("lib" * lib_name)) for lib_name in lib_names],
[ExecutableProduct("trtexec", :trtexec)]
)

dependencies = [Dependency("CUDNN_jll", v"8.2.1"; compat="8.2")]

cuda_versions = [v"10.2", v"11.0", v"11.1", v"11.2", v"11.3"]
for cuda_version in cuda_versions
cuda_tag = "$(cuda_version.major).$(cuda_version.minor)"
include("build_$(cuda_tag).jl")

for (platform, sources) in platforms_and_sources
augmented_platform = Platform(arch(platform), os(platform); cuda=cuda_tag)
should_build_platform(triplet(augmented_platform)) || continue
arch(platform) != "aarch64" || cuda_version == v"10.2" || cuda_version == v"11.3" || continue # AArch64 only support CUDA v10.2 and v11.3
arch(platform) != "powerpc64le" || cuda_version == v"11.3" || continue # PowerPC64LE only support CUDA 11.3
build_tarballs(ARGS, name, version, sources, script, [augmented_platform],
products, dependencies; lazy_artifacts=true)
end
end

0 comments on commit 3471774

Please sign in to comment.