# TensorRT-CSharp-API
**Repository Path**: guojin-yan/TensorRT-CSharp-API
## Basic Information
- **Project Name**: TensorRT-CSharp-API
- **Description**: 官方发行的 TensorRT未提供C#编程语言接口,因此在使用时无法实现在C#中利用 TensorRT进行模型部署。在该项目中,利用动态链接库功能,调用官方依赖库,实现在C#中部署深度学习模型。
- **Primary Language**: C#
- **License**: Apache-2.0
- **Default Branch**: TensorRtSharp4.0
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 3
- **Forks**: 0
- **Created**: 2023-04-18
- **Last Updated**: 2026-09-10
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
面向 C# 与 .NET 的 TensorRT、CUDA 托管接口、项目自有桥接包、可运行视觉示例和 TensorRtExec 桌面工具。
English | 简体中文
# TensorRT CSharp API v4.0 [](https://github.com/guojin-yan/TensorRT-CSharp-API/actions/workflows/ci-validation.yml) [](https://guojin-yan.github.io/TensorRT-CSharp-API/) [](LICENSE) TensorRT CSharp API v4.0 是面向 .NET 的 TensorRT / CUDA 桥接项目,包含推理执行、CUDA 运行时编译、显存、流与事件、回调、分配器以及 TensorRtExec 桌面工具。`4.0.0` 正式稳定版已经发布,当前开发重点转向使用公开包的系列案例、完整应用和配套技术文章。 ## 📖 项目简介 - 主 TensorRT 顶层命名空间为 JYPPX.TensorRtSharp,未单独归类的共享类型也归入该命名空间。 - CUDA 顶层命名空间为 JYPPX.CudaSharp。 - 原生桥接库为 jyppxtrtbridge,按 CUDA/TensorRT 版本提供项目自有 bridge-only 包。 CUDA、cuDNN、TensorRT 和 NVRTC 由使用者自行安装。仓库不重新分发 CUDA、cuDNN、TensorRT 厂商运行库:只发布托管源码、托管包和项目自有桥接包。 ## ✨ 首版重点 - src 按 CUDA、TensorRT、运行时、显存和共享模块归类。 - 覆盖 engine 构建、执行上下文、binding、动态 shape、分配器、日志、性能分析、进度监视、stream、event、CUDA Graph 和 CUDA RTC。 - 运行库包角色明确:windows_split_package_roles=bridge 的 .Bridge 包只包含项目桥接库。 - NuGet 包固定使用 nuget/logo.jpg,并嵌入当前英文 README。 - 许可证为 Apache-2.0。 ## 📢 本次更新:4.0.0 - 固定 `JYPPX.TensorRtSharp` 与 `JYPPX.CudaSharp` 顶层命名空间及 4.0 托管 API。 - 发布 1 个托管包、6 个 Windows Bridge 包和 12 个 Linux Bridge 包,匹配的 NVIDIA 运行时仍由用户自行安装。 - CUDA、cuDNN、TensorRT、NVRTC、样例应用和模型二进制均不进入 NuGet 包。 - 针对当前 C# 核心代码提供兼容的托管包维护版本 `4.0.0.1`;Bridge 包矩阵仍保持 `4.0.0`。 查看 [4.0.0 详细说明](docs/releases/4.0.0.md)、[4.0.0.1 托管包说明](docs/releases/4.0.0.1.md),或浏览 [全部版本列表](docs/releases/README.md)。 ## 🚀 30 秒开始 在目标机器安装匹配的 NVIDIA 运行库,然后创建控制台项目并添加托管包和对应 bridge 包: ~~~powershell dotnet new console -n TrtQuickstart cd TrtQuickstart dotnet add package JYPPX.TensorRT.CSharp.API --version 4.0.0 dotnet add package JYPPX.TensorRT.CSharp.API.Runtime.win-x64.trt10.11.cuda12.9.cudnn9.22.Bridge --version 4.0.0 ~~~ 精确 `4.0.0` 可以避免恢复结果随时间变化,也不会误选 API 不兼容的历史 4.x 包(例如 `4.0.6170`)。请根据目标机器安装的 RID 和 NVIDIA 运行时矩阵替换 Bridge 包 ID。 程序创建 runtime、加载 engine、绑定输入输出并执行推理。bridge 包不包含 CUDA、cuDNN 或 TensorRT。请先阅读 [推理绑定教程](docs/articles/zh-cn/inference-bindings-tutorial.md) 和 [Windows 安装排错](docs/articles/zh-cn/windows-installation-and-troubleshooting-guide.md)。 ## 📦 包结构 | 包 | 内容 | | --- | --- | | JYPPX.TensorRT.CSharp.API | TensorRT/CUDA 托管 API | | JYPPX.TensorRT.CSharp.API.Runtime.*.Bridge | 仅项目自有原生桥接库,按 RID/TensorRT/CUDA/cuDNN 选择一个 | 位于 `samples/ComputerVision/01.Classification` 的 `Classification` 和位于 `applications/YoloVision` 的 `YoloVision` 都是可运行案例。它们使用已发布的 4 系列托管包,但自身不进入任何公开包源或 Release 资产。 ## 🧪 系列案例 | 系列 | 项目 | 主要内容 | | --- | --- | --- | | CUDA | `Cuda/01.RuntimeCompilation` | CUDA RTC 编译、模块加载、kernel 启动与结果回读 | | 推理基础 | `Inference/01.Bindings`、`Inference/02.DynamicShapes` | binding、显存归属和动态 profile | | 性能 | `Performance/01.MultiStream` | CUDA stream、event 与跨流顺序 | | 计算机视觉 | `Classification` | 图像预处理、Top-K、JSON 和识别结果图 | | 完整应用 | `YoloVision`、`OnnxToEngine`、`TensorRtExec` | 多步骤工作流与高级用法 | 可运行命令和对应文章见 [系列案例目录](samples/README.md) 与 [完整应用目录](applications/README.md)。 CUDA RTC 路线图:[English](docs/articles/en/cuda-runtime-compilation-roadmap.md) | [简体中文](docs/articles/zh-cn/cuda-runtime-compilation-roadmap.md) | [技术文章](docs/articles/zh-cn/cuda-runtime-compilation-technical-article.md) ## 🌐 公开包与 Release 资产 `4.0.0` 正式版已经在 GitHub Release、NuGet.org 和 GitHub Packages 公开;兼容的托管包维护版本为 `4.0.0.1`,Bridge 矩阵仍为 `4.0.0`。NuGet 包 README 使用根目录英文 README,包图标固定为nuget/logo.jpg,核心托管包使用 Apache-2.0 SPDX 许可证表达式。
| 包 | 版本 | NuGet.org | GitHub Packages | 用途 |
| --- | --- | --- | --- | --- |
| JYPPX.TensorRT.CSharp.API | [](https://www.nuget.org/packages/JYPPX.TensorRT.CSharp.API/) | [包页面](https://www.nuget.org/packages/JYPPX.TensorRT.CSharp.API/) | [包源](https://github.com/users/guojin-yan/packages/nuget/package/jyppx.tensorrt.csharp.api) | 核心 TensorRT/CUDA 托管 API |
| 发布渠道 | 链接 | 资产 |
| --- | --- | --- |
| GitHub Release | [v4.0.0](https://github.com/guojin-yan/TensorRT-CSharp-API/releases/tag/v4.0.0) | 源码压缩包、核心托管 .nupkg 和项目自有 Bridge .nupkg 包 |
| GitHub Packages | [NuGet 包源](https://github.com/users/guojin-yan/packages?repo_name=TensorRT-CSharp-API) | 核心托管包以及已发布的项目自有 Bridge 矩阵 |
| NuGet.org | [核心包 4.0.0](https://www.nuget.org/packages/JYPPX.TensorRT.CSharp.API/4.0.0) | 核心托管包与 18 个项目自有 Bridge 包 |
### 🧩 Bridge 包矩阵
下面列出每个已发布 Bridge 包及其匹配的用户自装 CUDA、cuDNN、TensorRT 版本。`.Bridge` 包只包含 `jyppxtrtbridge`,不会携带 NVIDIA 厂商运行库。`published-4.0.0` 表示精确 `4.0.0` 已在 GitHub Packages、GitHub Release 和 NuGet.org 提供。
| 包 ID | Runtime key | CUDA | cuDNN | TensorRT | 发布状态 |
| --- | --- | --- | --- | --- | --- |
| `JYPPX.TensorRT.CSharp.API.Runtime.win-x64.trt8.6.cuda11.8.cudnn8.9.Bridge`