Menjalankan LLM pada AMD NPU dengan FastFlowLM - Panduan Fedora

Sekarang Anda dapat menjalankan Large Language Models secara langsung pada AMD NPU Anda menggunakan Fedora. Panduan ini menunjukkan cara menyiapkan stack pada ASUS ROG Flow Z13 dengan chip Ryzen AI Max 390.

Pengaturan ini memerlukan empat lapisan kerja:

  • Kernel + driver DKMS (amdxdna): Membuat node perangkat dan memuat firmware.
  • XRT base: Runtime AMD.
  • XRT NPU plugin: Memungkinkan XRT untuk mendeteksi NPU.
  • FastFlowLM (flm): Alat yang menjalankan model.

Karena Fedora tidak menyediakan paket pra-rilis untuk ini, Anda harus melakukan build dari source.

⚠️ Perbaikan Kritis Sebelum Anda Memulai

  1. Aktifkan IOMMU Banyak pengguna menonaktifkan IOMMU untuk tuning GPU. Hal ini akan merusak fungsi NPU. Periksa pengaturan Anda: cat /proc/cmdline Jika Anda melihat amd_iommu=off, hapus dari /etc/default/grub, regenerasi konfigurasi grub Anda, dan reboot.

  2. Atur Memlock Tanpa Batas NPU memerlukan memori yang terkunci (locked memory). Periksa batas Anda: ulimit -l Jika tidak unlimited, tambahkan ini ke /etc/security/limits.d/99-memlock.conf:

  • soft memlock unlimited
  • hard memlock unlimited Kemudian log out dan masuk kembali.
  1. Perbaiki Path xrt-smi Jangan gunakan symlink untuk xrt-smi. Hal ini akan merusak skrip internal. Gunakan wrapper sebagai gantinya: sudo tee /usr/local/bin/xrt-smi <<'EOF'

#!/bin/sh exec /opt/xilinx/xrt/bin/xrt-smi "$@" EOF sudo chmod +x /usr/local/bin/xrt-smi

Ringkasan Langkah Build

  • Instal dependensi: Gunakan dnf untuk menginstal git, dkms, cmake, dan berbagai library pengembangan.
  • Build XRT: Clone repositori xdna-driver. Buat wrapper cmake3 untuk Fedora. Build dan instal RPM-nya.
  • Instal NPU Plugin: Build xrt_plugin dari repositori xdna-driver dan instal RPM yang dihasilkan.
  • Build FastFlowLM: Clone repositori FastFlowLM dan gunakan cmake untuk build dan instal.

Perintah Verifikasi

Periksa kernel dan NPU: flm validate

Periksa perangkat keras: xrt-smi examine xrt-smi validate

Jalankan model: flm run gemma4-it:e4b

Benchmark Performa (Ryzen AI Max 390)

  • Waktu hingga token pertama: 1.21 s
  • Kecepatan prefill: 18 tok/s
  • Kecepatan decoding: 11 tok/s

Sumber: https://dev.to/ankk98/running-llms-on-amd-npu-with-fastflowlm-fedora-guide-1oo5

Komunitas belajar opsional: https://t.me/GyaanSetuAi