diff --git a/src/ffi/mod.rs b/src/ffi/mod.rs index 30651ce..72fdccc 100644 --- a/src/ffi/mod.rs +++ b/src/ffi/mod.rs @@ -16,6 +16,7 @@ pub mod network; pub mod optimization_profile; pub mod parser; pub mod sync; +pub mod version; /// Convenience macro for turning TensorRT error code into a `std::result::Result`. /// diff --git a/src/ffi/version.rs b/src/ffi/version.rs new file mode 100644 index 0000000..5a037a2 --- /dev/null +++ b/src/ffi/version.rs @@ -0,0 +1,16 @@ +use cpp::cpp; + +/// Returns (Major, Minor, Patch, Build) version of tensorrt +pub fn get_tensorrt_version() -> (u32, u32, u32) { + ( + cpp!(unsafe [] -> u32 as "uint32_t" { + return NV_TENSORRT_MAJOR; + }), + cpp!(unsafe [] -> u32 as "uint32_t" { + return NV_TENSORRT_MINOR; + }), + cpp!(unsafe [] -> u32 as "uint32_t" { + return NV_TENSORRT_PATCH; + }), + ) +}