FastFlowLM తో AMD NPU పై LLMలను రన్ చేయడం - Fedora గైడ్
ఇప్పుడు మీరు Fedora ఉపయోగించి మీ AMD NPU పై నేరుగా Large Language Models (LLMలను) రన్ చేయవచ్చు. Ryzen AI Max 390 చిప్తో ఉన్న ASUS ROG Flow Z13 పై ఈ స్టాక్ను ఎలా సెటప్ చేయాలో ఈ గైడ్ మీకు చూపుతుంది.
ఈ సెటప్కు నాలుగు పని చేసే లేయర్లు (layers) అవసరం:
- Kernel + DKMS driver (amdxdna): ఇది device nodeను సృష్టిస్తుంది మరియు firmwareను లోడ్ చేస్తుంది.
- XRT base: ఇది AMD runtime.
- XRT NPU plugin: ఇది XRT ద్వారా NPUని గుర్తించడానికి అనుమతిస్తుంది.
- FastFlowLM (flm): ఇది మోడళ్లను రన్ చేసే టూల్.
Fedoraలో దీని కోసం ముందే నిర్మించిన (prebuilt) ప్యాకేజీలు లేవు కాబట్టి, మీరు దీనిని సోర్స్ నుండి బిల్డ్ చేయాలి.
⚠️ ప్రారంభించే ముందు ముఖ్యమైన పరిష్కారాలు (Critical Fixes)
IOMMUని ఎనేబుల్ చేయండి GPU ట్యూనింగ్ కోసం చాలా మంది వినియోగదారులు IOMMUని డిసేబుల్ చేస్తారు. ఇది NPU పనితీరును దెబ్బతీస్తుంది. మీ సెట్టింగ్లను తనిఖీ చేయండి:
cat /proc/cmdlineఒకవేళ మీకుamd_iommu=offఅని కనిపిస్తే, దానిని/etc/default/grubనుండి తొలగించి, మీ grub కాన్ఫిగరేషన్ను రీజనరేట్ చేసి, రీబూట్ చేయండి.Unlimited Memlockని సెట్ చేయండి NPUకి లాక్ చేయబడిన మెమరీ (locked memory) అవసరం. మీ లిమిట్ను తనిఖీ చేయండి:
ulimit -lఅది unlimited కాకపోతే,/etc/security/limits.d/99-memlock.confఫైల్లో ఇది జోడించండి:* soft memlock unlimited* hard memlock unlimitedఆ తర్వాత లాగ్ అవుట్ అయ్యి మళ్ళీ లాగిన్ అవ్వండి.xrt-smi పాత్ను సరిచేయండి xrt-smiకి symlink చేయవద్దు. ఇది ఇంటర్నల్ స్క్రిప్ట్ను దెబ్బతీస్తుంది. దానికి బదులుగా ఒక wrapperని ఉపయోగించండి:
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
బిల్డ్ దశల సారాంశం (Build Steps Summary)
- Dependencies ఇన్స్టాల్ చేయండి: git, dkms, cmake మరియు వివిధ డెవలప్మెంట్ లైబ్రరీలను ఇన్స్టాల్ చేయడానికి dnfని ఉపయోగించండి.
- XRTని బిల్డ్ చేయండి: xdna-driver repoని క్లోన్ చేయండి. Fedora కోసం cmake3 wrapperని సృష్టించండి. RPMలను బిల్డ్ చేసి ఇన్స్టాల్ చేయండి.
- NPU Plugin ఇన్స్టాల్ చేయండి: xdna-driver repo నుండి xrt_pluginని బిల్డ్ చేసి, వచ్చిన RPMని ఇన్స్టాల్ చేయండి.
- FastFlowLMని బిల్డ్ చేయండి: FastFlowLM repoని క్లోన్ చేసి, బిల్డ్ మరియు ఇన్స్టాల్ చేయడానికి cmakeని ఉపయోగించండి.
వెరిఫికేషన్ కమాండ్స్ (Verification Commands)
కెర్నల్ మరియు NPUని తనిఖీ చేయండి:
flm validate
హార్డ్వేర్ను తనిఖీ చేయండి:
xrt-smi examine
xrt-smi validate
మోడల్ను రన్ చేయండి:
flm run gemma4-it:e4b
పెర్ఫార్మెన్స్ బెంచ్మార్క్లు (Ryzen AI Max 390)
- మొదటి టోకెన్ కోసం సమయం: 1.21 s
- Prefill వేగం: 18 tok/s
- Decoding వేగం: 11 tok/s
Source: https://dev.to/ankk98/running-llms-on-amd-npu-with-fastflowlm-fedora-guide-1oo5
Optional learning community: https://t.me/GyaanSetuAi
