Driver, Firmware, and Runtime Installation

Here, we explain how to install the packages necessary to use the various SW components provided by FuriosaAI.

These required packages are kernel drivers, firmware, and runtime library, and can be downloaded either directly through the download center, or through the APT/PIP servers as issued on the developer site.

Note

The download center and developer site will be provided 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. This section may be skipped if you are using the download center, and not the APT.

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

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

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 5F03AFA423A751913F249259814F888B20B09A7E
  1. Issue the API key from FuriosaAI developer center, 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 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  password xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
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] 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 following:

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 the following:

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.0-?