13 个版本 (7 个破坏性更新)
新版本 0.8.0 | 2024年8月23日 |
---|---|
0.7.0 | 2024年1月9日 |
0.6.0 | 2023年10月4日 |
0.1.3 | 2023年6月15日 |
#219 in 异步
每月下载量276
96KB
1.5K SLoC
async-tensorrt
TensorRT的异步封装。
ℹ️ 简介
async-tensorrt
是一个为 TensorRT 提供的异步封装。
🛠 状态
该项目仍在开发中,可能包含错误。API的一些部分尚未完善。请谨慎使用。
📦 设置
请确保已安装必要的依赖项
- CUDA工具包11或更高版本。
- TensorRT 8或更高版本。
然后,将以下内容添加到您的 Cargo.toml
依赖项中
async-tensorrt = "0.8"
⚠️ 安全警告
此crate是 故意不安全的。由于异步Rust当前的限制,使用此crate的异步接口在某些罕见情况下可能导致未定义的行为。用户需要遵循以下规则来防止这种情况发生
- 此crate中函数产生的任何未来都不能泄漏(无论是通过
std::mem::forget
还是其他方式)。 - 使用一个行为良好的运行时(不会忘记您的未来)如Tokio或async-std。
内部,此crate中的 Future
类型会在单独的运行时线程上调度CUDA调用。为了使API尽可能方便,将闭包(发送到运行时)的生命周期限制与未来对象相关联。为了强制执行此限制,如果未来被丢弃,它将阻塞并等待。此机制依赖于未来被驱动到完成,而不是被遗忘。这并不一定有保证。如果运行时放弃或忘记未来,或者调用者手动轮询未来然后忘记它,则可能发生不安全的情况。
许可证
许可如下
- Apache许可证第2版 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- 麻省理工学院许可证(《LICENSE-MIT》或http://opensource.org/licenses/MIT)
由你选择。
贡献
除非你明确表示,否则根据Apache-2.0许可证的定义,你故意提交以供包含在工作中的任何贡献,应如上所述双重许可,不附加任何额外条款或条件。
依赖项
~1.4–2.6MB
~48K SLoC