FastFlowLM ಬಳಸಿ AMD NPU ಮೇಲೆ LLMಗಳನ್ನು ರನ್ ಮಾಡುವುದು - Fedora ಮಾರ್ಗದರ್ಶಿ
ಈಗ ನೀವು Fedora ಬಳಸಿ ನಿಮ್ಮ AMD NPU ಮೇಲೆ ನೇರವಾಗಿ Large Language Models ಅನ್ನು ರನ್ ಮಾಡಬಹುದು. 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) ಪ್ಯಾಕೇಜ್ಗಳು ಇಲ್ಲದ ಕಾರಣ, ನೀವು ಇದನ್ನು source ನಿಂದಲೇ ಬಿಲ್ಡ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ.
⚠️ ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು ಮಾಡಬೇಕಾದ ಪ್ರಮುಖ ಸರಿಪಡಿಸುವಿಕೆಗಳು (Critical Fixes)
IOMMU ಅನ್ನು ಎನೇಬಲ್ ಮಾಡಿ ಅನೇಕ ಬಳಕೆದಾರರು GPU ಟ್ಯೂನಿಂಗ್ಗಾಗಿ IOMMU ಅನ್ನು ಡಿಸೇಬಲ್ ಮಾಡುತ್ತಾರೆ. ಇದು NPU ಅನ್ನು ಕಾರ್ಯನಿರ್ವಹಿಸದಂತೆ ಮಾಡುತ್ತದೆ. ನಿಮ್ಮ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ:
cat /proc/cmdlineಒಂದು ವೇಳೆ ನೀವುamd_iommu=offಅನ್ನು ನೋಡಿದರೆ, ಅದನ್ನು/etc/default/grubನಿಂದ ತೆಗೆದುಹಾಕಿ, ನಿಮ್ಮ grub ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ರೀಜನರೇಟ್ ಮಾಡಿ ಮತ್ತು ರೀಬೂಟ್ ಮಾಡಿ.Unlimited Memlock ಅನ್ನು ಸೆಟ್ ಮಾಡಿ NPU ಗೆ ಲಾಕ್ ಮಾಡಲಾದ ಮೆಮೊರಿ (locked memory) ಅಗತ್ಯವಿದೆ. ನಿಮ್ಮ ಮಿತಿಯನ್ನು (limit) ಪರಿಶೀಲಿಸಿ:
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 ರೆಪೊ (repo) ಅನ್ನು ಕ್ಲೋನ್ ಮಾಡಿ. Fedora ಗಾಗಿ cmake3 wrapper ಅನ್ನು ರಚಿಸಿ. RPM ಗಳನ್ನು ಬಿಲ್ಡ್ ಮಾಡಿ ಇನ್ಸ್ಟಾಲ್ ಮಾಡಿ.
- 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
ಪರ್ಫಾರ್ಮೆನ್ಸ್ ಬೆಂಚ್ಮಾರ್ಕ್ಗಳು (Performance Benchmarks) (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
