Glossary Updates6 new terms added to the glossaries · October 11, 2026, 13:38 CEST
AI TechDocKnowledge

Glossary · 1 · SDK fundamentals

Hardware SDK

Also known as: hardware software development kit, device SDK, silicon vendor SDK, board support SDK

German: Hardware-SDK

In software engineering, a hardware SDK is a software development kit that makes a specific piece of hardware — a device, microcontroller, processor, accelerator or immersive system — programmable from application code. It typically bundles a toolchain (cross-compiler, assembler, linker), device drivers, a hardware abstraction layer, runtime and math or media libraries, header files describing registers and peripherals, plus flashing, profiling and debug tools. Unlike SDKs that target a remote service or a host application, a hardware SDK is bound to silicon revisions, board variants and driver versions, so its documentation must state exactly which parts it supports. Providing such an SDK does not by itself make a function safe, reliable or compliant; those properties depend on the system design, its verification and the applicable rules.

  • hardware sdk
  • toolchain
  • hardware abstraction layer
  • embedded
  • sdk types

In one sentence

What a hardware SDK is: toolchain, drivers, abstraction layer, libraries and debug tools that make a device or accelerator programmable.

Example

To run inference on a GPU, the team installs the vendor's hardware SDK, compiles the kernels with its cross-compiler, and pins both the SDK release and the matching driver version in the build container.

A hardware SDK is the fourth of the four kinds of kit described in the encyclopedia subject area on software development kits — see hardware SDKs for the longer treatment. Where a developer SDK wraps a remote interface and a platform SDK extends a host application, a hardware SDK closes the gap between application code and a physical part: it supplies the compiler that produces code for the target instruction set, the device driver or kernel module that talks to the part, and an abstraction layer that hides register-level detail behind named functions.

Vendor toolkits show this composition plainly. NVIDIA describes its CUDA Toolkit as a development environment for creating high performance GPU-accelerated applications, built around nvcc, the CUDA compiler driver, which accepts conventional compiler options such as those for defining macros and include and library paths and for steering the compilation process. Deployments of such a toolkit typically pull in GPU-accelerated libraries, profiling tools and debugger tools alongside the compiler, and the compilation model itself is hardware-specific: device functions are separated from host code, the device functions are compiled by vendor compilers and assemblers, the host code by a general-purpose C/C++ compiler, and the compiled GPU functions are then embedded as load images in the host object file.

How it applies

  • Scope the hardware, not just the API. Document supported part numbers, silicon or stepping revisions, board variants and required firmware levels. A hardware SDK release is only meaningful together with the driver and firmware versions it was tested against.
  • Treat the toolchain as a deliverable. Cross-compiler, linker scripts, flashing utility and profiler belong in the documented setup, with exact versions. Reproducible builds usually mean pinning the SDK in a container image rather than describing a manual install.
  • Describe the abstraction layer honestly. A hardware abstraction layer is an abstraction over registers and peripherals; state which peripherals it covers, where direct register access is still required, and which calls block, allocate or are interrupt-safe.
  • Watch the binary boundary. Prebuilt vendor libraries bind consumers to a particular application binary interface — compiler version, C library, floating-point and calling conventions. Record these constraints; they break builds more often than source-level changes do.
  • Integrate with the runtime environment. On constrained targets the SDK sits next to a real-time operating system or bare-metal scheduler; document initialization order, clock and power configuration, and memory maps as part of the embedded software documentation.
  • Document the diagnostic path. On-chip debugging probes, trace buffers, emulators and simulation targets are what make the kit usable before hardware exists; say which features need a physical probe and which run against a simulator.
  • Version deliberately. Many hardware SDKs do not follow semantic versioning strictly, because a driver or silicon change can alter behavior without an API change. Publish a compatibility matrix instead of relying on version numbers alone.
  • Interoperate with the other SDK types. Devices programmed with a hardware SDK commonly ship telemetry to a service reached through a developer SDK, while their manuals and release notes are produced with a publishing SDK — the three toolchains meet in the same product release.
  • Keep safety claims separate. A hardware SDK may expose watchdogs, memory protection units, redundancy or diagnostic registers, but using those functions is not the same as demonstrating that a safety function works. Any such demonstration rests on the system's own design, verification and assessment, not on the presence of an SDK call.

Hardware SDK vs. board support package

The two overlap and are often shipped together, but they answer different questions. A board support package is the board-specific layer that brings a given operating system up on a given board: bootloader, clock and pin configuration, device driver set and kernel configuration. A hardware SDK is the wider development kit an application programmer works with — toolchain, abstraction layer, libraries, samples, profiling and debug tools — and may support many boards, including boards for which a separate board support package exists. Put plainly: the board support package makes the board boot; the hardware SDK makes the part programmable.

External references

Keep in mind

Vendor toolkit names, bundled components, supported devices and driver requirements change between releases, and individual tools are renamed, split out or retired. Check the current official documentation for the hardware you target instead of relying on the component list of any one release described here.

By knowledge.aitechdoc.world · Published October 11, 2026 · Last reviewed

Source: NVIDIA CUDA Toolkit Documentation 13.0

Definitions follow the cited standards and specifications. Where a source is a copyrighted publication, such as an ISO, IEC or EN standard, the definition is a close paraphrase, not a verbatim quotation, so as not to infringe copyright. We recommend reading the original publication. The sections “How it applies” are editorial commentary by AI TechDoc Knowledge and are not part of any standard.

Seen a mistake? Send us a note!