4 releases

0.1.3 Mar 12, 2024
0.1.2 Feb 12, 2024
0.1.1 Feb 12, 2024
0.1.0 Jan 28, 2024

#835 in Machine learning

MIT license

17KB
189 lines

nvidia-checker-rs

The crate nvidia-checker is a checker CLI tool for nvidia software environment. It can be used when developers want to use the same environment of nvidia software.

  • Supported feature
    • Used as library
    • Check with specified version
    • Check with specified version in range
  • Document

Use as library

nvidia-checker = "0.1.2"

Get started for CLI

install

  • Install cargo
  • Install nvidia-checker
cargo install nvidia-checker

Print environment

nvidia-checker

Check with desirable environment

nvidia-checker --diff ./config/test.toml
  • Output example
17:00:39 [INFO] ===== Start nvidia-checker =====
17:00:39 [INFO] command: uname -r

5.15.0-58-generic

17:00:39 [INFO] command: cat /etc/os-release

PRETTY_NAME="Ubuntu 22.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.1 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

17:00:39 [INFO] command: cat /proc/driver/nvidia/version

NVRM version: NVIDIA UNIX x86_64 Kernel Module  545.23.08  Mon Nov  6 23:49:37 UTC 2023
GCC version:  gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) 

17:00:39 [INFO] command: nvcc -V

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Wed_Nov_22_10:17:15_PST_2023
Cuda compilation tools, release 12.3, V12.3.107
Build cuda_12.3.r12.3/compiler.33567101_0

17:00:39 [INFO] command: dpkg -l | grep cudnn

hi  libcudnn8                                         8.9.5.29-1+cuda12.2                     amd64        cuDNN runtime libraries
hi  libcudnn8-dev                                     8.9.5.29-1+cuda12.2                     amd64        cuDNN development libraries and headers
ii  ros-humble-cudnn-cmake-module                     0.0.1-3jammy.20230112.141335            amd64        Exports a CMake module to find cuDNN.

17:00:39 [INFO] command: dpkg -l | grep TensorRT

ii  libnvinfer-bin                                    8.6.1.6-1+cuda12.0                      amd64        TensorRT binaries
hi  libnvinfer-dev                                    8.6.1.6-1+cuda12.0                      amd64        TensorRT development libraries
ii  libnvinfer-dispatch8                              8.6.1.6-1+cuda12.0                      amd64        TensorRT dispatch runtime library
ii  libnvinfer-headers-dev                            8.6.1.6-1+cuda12.0                      amd64        TensorRT development headers
ii  libnvinfer-headers-plugin-dev                     8.6.1.6-1+cuda12.0                      amd64        TensorRT plugin headers
ii  libnvinfer-lean8                                  8.6.1.6-1+cuda12.0                      amd64        TensorRT lean runtime library
hi  libnvinfer-plugin-dev                             8.6.1.6-1+cuda12.0                      amd64        TensorRT plugin libraries
hi  libnvinfer-plugin8                                8.6.1.6-1+cuda12.0                      amd64        TensorRT plugin libraries
ii  libnvinfer-vc-plugin8                             8.6.1.6-1+cuda12.0                      amd64        TensorRT vc-plugin library
hi  libnvinfer8                                       8.6.1.6-1+cuda12.0                      amd64        TensorRT runtime libraries
hi  libnvonnxparsers-dev                              8.6.1.6-1+cuda12.0                      amd64        TensorRT ONNX libraries
hi  libnvonnxparsers8                                 8.6.1.6-1+cuda12.0                      amd64        TensorRT ONNX libraries
hi  libnvparsers-dev                                  8.6.1.6-1+cuda12.0                      amd64        TensorRT parsers libraries
hi  libnvparsers8                                     8.6.1.6-1+cuda12.0                      amd64        TensorRT parsers libraries
ii  ros-humble-tensorrt-cmake-module                  0.0.3-1jammy.20230112.141218            amd64        Exports a CMake module to find TensorRT.

17:00:39 [INFO] ===== Your environment =====
Environment {
    checked_time: "2024.01.27 02:00:39",
    os: "Ubuntu 22.04.1 LTS",
    kernel: "5.15.0-58-generic",
    nvidia_driver: "545.23.08",
    cuda: "cuda_12.3.r12.3",
    cudnn: "8.9.5.29-1+cuda12.2",
    tensorrt: "8.6.1.6-1+cuda12.0",
}
17:00:39 [INFO] ===== Check environment =====
17:00:39 [INFO] os: OK
17:00:39 [INFO] kernel: OK
17:00:39 [INFO] nvidia driver: OK
17:00:39 [INFO] cuda: OK
17:00:39 [INFO] cudnn: OK
17:00:39 [INFO] tensorrt: OK

Check with the change from latest check

  • If you want to check with the change for NVIDIA software environment as automatic apt update, you can use nvidia-checker as below.
    • The environment file at the last nvidia-checker running is at $HOME/.local/nvidia-checker/latest.toml.
nvidia-checker --latest

Run from source files

  • Clone repository
git clone https://github.com/scepter914/nvidia-checker-rs.git
  • Run
cargo run --release --bin nvidia-checker -- --diff ./config/test.toml

History

  • Next release
    • Update README
  • v0.1.3
    • Fix bug
  • v0.1.2
    • Update cargo.toml
  • v0.1.1
    • Arrange crate for library use
    • Update README
  • v0.1.0
    • Published nvidia-checker crate

Dependencies

~3–15MB
~125K SLoC