C SDK installation and user guide

We explain here how to write FuriosaAI NPU applications using C programming language. The C SDK provides a C ABI-based static library and C header file. Using these, you can write applications in C, C++, or other languages that support C ABI.

The provided C SDK is relatively lower-level than Python SDK. It can be used when lower latency and higher performance are required, or when Python runtime cannot be used.

Warning

furiosa-libnux-dev and the current C API are being deprecated in the future release.

As substitute of the current API, new C API based on the next-generation runtime called FuriosaRT will be introduced with more features in the future release.

C SDK installation

The minimum requirements for C SDK are as follows.

In order to install and use C SDK, you must install the driver, firmware, and runtime library in accordance with the Required Package Installation guide.

Once you have installed the required packages, follow the instructions below to install C SDK.

To use FuriosaAI APT, refer to APT server configuration and complete the authentication setting for server connection.

apt-get update && apt-get install -y furiosa-libnux-dev

Compiling with C SDK

Once you install the package as above, you can compile using the C SDK.

C header files and static libraries are located in the /usr/include/furiosa and /usr/lib/x86_64-linux-gnu directories respectively. They are the system paths that gcc looks to find C headers and libraries by default, so you can simply compile C applications with only -lnux option as follows:

gcc example.c -lnux

Also, you can find C SDK examples and C API reference at C Language SDK Reference.