← Course contents · Part 4

· Visual lesson · Session 30 of 56


What software makes the GPU usable?

A GPU can be installed correctly while the application cannot use it. Check the software layers separately.

Picture the idea

Four different software layers

  1. Application and framework

    The workload's own environment

  2. Runtime and libraries

    The interfaces used during execution

  3. Host driver

    Manages the installed device

  4. GPU hardware

    Must be supported by the stack

Read top to bottom as dependencies. A toolkit compiler is a development tool; a prebuilt application may not need it installed locally.

Know the layers

The driver manages the device. The CUDA toolkit includes development tools and libraries. Frameworks and application libraries build on those interfaces.

A container packages the application environment. It still depends on a suitable host driver.

The CUDA version reported by a driver tool is not proof that the corresponding compiler is installed.

Inspect without changing

On an authorized NVIDIA Linux host with the tools installed:

nvidia-smi -L
nvidia-smi
nvcc --version

These check detected GPUs, driver/device information, and the compiler respectively. They are not Apple GPU commands or a complete workload test.

Record the application image and runtime versions too. Change one layer deliberately so you retain a useful comparison and rollback path.

Try it yourself

A prebuilt application works, but the machine has no nvcc command. Is that a contradiction?

Check your answer

No. It may need runtime libraries and a driver without needing a local compiler. Driver support, toolkit installation, and application dependencies are different checks.

Sources and further reading

← All sessions