llama.cpp b9857 रिलीज़ में Hexagon Flash Attention कार्यान्वयन का व्यापक पुनर्निर्माण पेश किया गया है, जिसमें अनुकूलन और सटीकता में सुधार पर ध्यान केंद्रित किया गया है। इस अपडेट में hex-mm और hex-fa मॉड्यूल में महत्वपूर्ण बदलाव शामिल हैं, जैसे कि मुख्य matmul थ्रेड्स में quant कार्यों को फोल्ड करना, ADD ऑपरेशन के साथ फ्यूज़ करना, और मास्क प्रसंस्करण का अनुकूलन।

  • Hexagon Flash Attention (hex-fa) अनुकूलन में ukernels का गुणनखंडीकरण, kernel-पैरामीटर गणना को होस्ट पर ले जाना, और FA_SELECT और Sinks के लिए समर्थन जोड़ना शामिल है।
  • प्रदर्शन बढ़त में Hvx फॉलबैक थ्रेशोल्ड को अपडेट करके थ्रूपुट रीग्रेशन को पुनः प्राप्त करना, मास्क DMA कैशिंग का अनुकूलन करना, और एलाइंड लोड्स और uint32_t इंडेक्स का उपयोग करना शामिल है।
  • संख्यात्मक सटीकता में सुधार में softmax एक्कुमुलेटर को fp32 में रखना, vec_exp_f32 को vec_exp2_f16 से बदलना, और मास्क प्रारंभिकीकरण के लिए -inf का उपयोग न करके रूपांतरण ओवरफ्लो से बचना शामिल है।
  • इस रिलीज़ में macOS (Apple Silicon और Intel), Linux (CPU, Vulkan, ROCm, OpenVINO, SYCL), Android, Windows (CPU, CUDA 12/13, Vulkan, OpenCL, HIP, OpenVINO, SYCL), और openEuler के लिए बाइनरी प्रदान की गई हैं।

यह अपडेट Hexagon DSPs पर इनफरेंस प्रदर्शन को बेहतर बनाता है और llama.cpp उपयोगकर्ताओं के लिए कई प्लेटफॉर्म और एक्सेलेरेटरों पर हार्डवेयर समर्थन का विस्तार करता है।