FastFlowLM के साथ AMD NPU पर LLMs चलाना - Fedora गाइड
अब आप Fedora का उपयोग करके सीधे अपने AMD NPU पर Large Language Models चला सकते हैं। यह गाइड आपको Ryzen AI Max 390 चिप वाले ASUS ROG Flow Z13 पर इस स्टैक को सेटअप करने का तरीका बताती है।
सेटअप के लिए चार वर्किंग लेयर्स (layers) की आवश्यकता होती है:
- Kernel + DKMS driver (amdxdna): यह डिवाइस नोड बनाता है और फर्मवेयर लोड करता है।
- XRT base: AMD रनटाइम।
- XRT NPU plugin: यह XRT को NPU देखने की अनुमति देता है।
- FastFlowLM (flm): वह टूल जो मॉडल्स को चलाता है।
चूंकि Fedora में इसके लिए प्रीबिल्ट (prebuilt) पैकेज उपलब्ध नहीं हैं, इसलिए आपको इसे सोर्स (source) से बिल्ड करना होगा।
⚠️ शुरू करने से पहले महत्वपूर्ण सुधार (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 पाथ (Path) ठीक करें 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 रेपो को क्लोन करें। Fedora के लिए cmake3 रैपर बनाएं। RPMs को बिल्ड और इंस्टॉल करें।
- NPU Plugin इंस्टॉल करें: xdna-driver रेपो से xrt_plugin को बिल्ड करें और परिणामी RPM को इंस्टॉल करें।
- FastFlowLM बिल्ड करें: FastFlowLM रेपो को क्लोन करें और बिल्ड और इंस्टॉल करने के लिए cmake का उपयोग करें।
वेरिफिकेशन कमांड्स (Verification Commands)
कर्नेल और NPU चेक करें:
flm validate
हार्डवेयर चेक करें:
xrt-smi examine
xrt-smi validate
मॉडल चलाएं:
flm run gemma4-it:e4b
परफॉरमेंस बेंचमार्क (Ryzen AI Max 390)
- पहले टोकन का समय (Time to first token): 1.21 s
- प्रीफिल स्पीड (Prefill speed): 18 tok/s
- डिकोडिंग स्पीड (Decoding speed): 11 tok/s
सोर्स: https://dev.to/ankk98/running-llms-on-amd-npu-with-fastflowlm-fedora-guide-1oo5
वैकल्पिक लर्निंग कम्युनिटी: https://t.me/GyaanSetuAi
