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.
Ubuntu 20.04 LTS (Debian bullseye) or higher
System administrator privileges (root)
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.