#extension #sdk #api-bindings #nvidia® #nvidia #range #nvtx

已删除 nvtx-rs

Rust语言的NVIDIA® 工具扩展SDK (NVTX) 绑定库

1.1.0 2022年5月30日
1.0.0 2022年5月30日
0.11.0 2021年5月25日
0.1.0 2021年5月24日

#65 in #nvidia

MIT/Apache

35KB
116 代码行

NVIDIA Logo

nvtx-rs

Crates.io Documentation Build Status dependency status

nvtx-rs 是一个用于 NVIDIA® 工具扩展SDK (NVTX) 的安全的Rust封装。

NVIDIA® 工具扩展SDK (NVTX) 是一个基于C的应用程序编程接口 (API),用于注释应用程序中的事件、代码范围和资源。有关NVIDIA® NVTX的官方文档,请访问此处

动机

目标是使用“Rust”风格安全地封装NVTX库,以提供一个适合GPU和CPU性能分析的跨平台库。

理想情况下,此库将用于基准测试Rust应用程序和进行Rust项目的研究,如无成本抽象的GPU分析。

章节

使用nvtx-rs

nvtx-rs设计得易于使用。该软件包已发布在crates.io上,使用nvtx-rs的最简单方法是将其单一依赖项添加到您的Cargo.toml文件中

nvtx-rs = "0.11.0"

入门

Screenshot from 2021-05-24 19-54-07

示例文件夹中有几个示例,可以从NVIDIA NSight Systems等应用程序中运行。每个示例都有一个包含易于阅读的步骤、屏幕截图和文档的README。查看第一个示例,'Hello, World!'

状态

nvtx-rs正在积极开发和成熟。目前,开发是由必要性驱动的。在接下来的几个月里,我将进行GPU分析,因此将封装需要或对我来说似乎重要的适当(常用)功能。

常见问题解答

我需要帮助!

请不要犹豫,通过提交问题或通过@simbleau通过电子邮件联系我。

贡献

我鼓励通过拉取请求进行所有贡献。如果您想帮忙,请首先查看问题。另一个不错的选择是从绑定更多函数并在安全的方式中封装它们开始。除非真正需要,否则我不会接受不安全的功能。FFI处理很复杂,请注意NVTX头文件中有多个内联函数。这使得自动转换(使用如bindgen等工具)变得更加困难。如果您有好的方法,我会很高兴看到它!我最终选择了手动翻译的方法,因为自动绑定很麻烦。

适用Rust行为准则

许可证

本项目采用Apache 2.0和MIT两种许可证的双重授权。

无运行时依赖

~180KB