Driver, Firmware, and Runtime Installation

Here, we explain how to install the packages necessary to use the various SW components provided by FuriosaAI. The required packages are composed of kernel drivers, firmware, and runtime library, and they can be easily installed via the APT package manager.

Note

You will be able to login FuriosaAI IAM and create a new API key upon registration to the FuriosaAI evaluation program. Currently, the request for registration can be done through contact@furiosa.ai.

Minimum requirements for SDK installation

  • Ubuntu 20.04 LTS (Focal Fossa)/Debian bullseye or higher

  • Administrator privileges on system (root)

  • Internet-accessible network

APT server configuration

In order to use the APT server as provided by FuriosaAI, the APT server must be configured on Ubuntu or Debian Linux as delineated below.

  1. Install the necessary packages to access HTTPS-based APT server.

sudo apt update
sudo apt install -y ca-certificates apt-transport-https gnupg wget
  1. Register the FuriosaAI public Signing key.

mkdir -p /etc/apt/keyrings && \
wget -q -O- https://archive.furiosa.ai/furiosa-apt-key.gpg \
| gpg --dearmor \
| sudo tee /etc/apt/keyrings/furiosa-apt-key.gpg > /dev/null
  1. Generate a new API key from FuriosaAI IAM, and configure the API key as follows:

sudo tee -a /etc/apt/auth.conf.d/furiosa.conf > /dev/null <<EOT
  machine archive.furiosa.ai
  login [KEY (ID)]
  password [PASSWORD]
EOT

sudo chmod 400 /etc/apt/auth.conf.d/furiosa.conf
  1. Configure the APT server according to the explanation given in the Linux distribution version tab.

Register the APT server through the command below.

sudo tee -a /etc/apt/sources.list.d/furiosa.list <<EOT
deb [arch=amd64 signed-by=/etc/apt/keyrings/furiosa-apt-key.gpg] https://archive.furiosa.ai/ubuntu focal restricted
EOT

Installing required packages.

If you have registered the APT server as above, or registered on the download site, you will be able to install the required packages - NPU kernel driver, firmware, and runtime.

sudo apt-get update && sudo apt-get install -y furiosa-driver-warboy furiosa-libnux

Adding a user to the furiosa Group

Linux is a multi-user operating system that enables file and device access for both the owner and users within a specific group. The NPU device driver creates a group called furiosa and restricts access to NPU devices exclusively to users who are members of the furiosa group. To add a user to a member of furiosa group, please run as follows:

sudo usermod -aG furiosa <username>

Replace <username> with the name of the user you want to add to the furiosa group. For example, in order to add the current user (i.e., $USER) to the furiosa group, you can run as follows:

sudo usermod -aG furiosa $USER

Upon logging out and logging back in, the change to the group membership will take effect.

Holding/unholding installed version

Following package installation, in order to maintain a stable operating environment, there may be a need to hold the installed packages versions. By using the command below, you will be able to hold the currently installed versions.

sudo apt-mark hold furiosa-driver-warboy furiosa-libhal-warboy furiosa-libnux libonnxruntime

In order to unhold and update the current package versions, designate the package that you wish to unhold with the command apt-mark unhold. Here, you can state the name of the package, thereby unholding selectively a specific package. In order to show the properties of an already held package, use the command apt-mark showhold.

sudo apt-mark unhold furiosa-driver-warboy furiosa-libhal-warboy furiosa-libnux libonnxruntime

Installing a specific version

If you need to install a specific version, you may designate the version that you want and install as follows.

  1. Check available versions through apt list.

sudo apt list -a furiosa-libnux
  1. State the package name and version as options in the command apt-get install

sudo apt-get install -y furiosa-libnux=0.9.1-?

NPU Firmware Update