llama.cpp प्रोजेक्ट ने बिल्ड b11184 जारी किया, जिसमें Metal बैकएंड के लिए नए Fast Walsh-Hadamard Transform (FWHT) kernels शामिल हैं जो 512 से अधिक ब्लॉक चौड़ाई का समर्थन करते हैं। पहले, Metal FWHT कार्यान्वयन 64 और 512 के बीच की चौड़ाई तक सीमित था।
- नया kernel 1024 से 8192 तक की चौड़ाई को संभालता है, जिसमें प्रत्येक थ्रेडग्रुप में 256 थ्रेड्स के साथ एक पंक्ति चलाई जाती है, जिससे चौड़े ब्लॉक्स रजिस्टर पर पूरी तरह निर्भर होने के बजाय थ्रेडग्रुप मेमोरी का उपयोग कर सकते हैं।
- 64 से 512 तक की चौड़ाई मौजूदा simdgroup kernel का उपयोग जारी रखती है, जबकि नए wide kernels F32 और F16 दोनों स्रोत प्रकारों का समर्थन करते हैं।
- इस कार्यान्वयन में अपर्याप्त थ्रेडग्रुप मेमोरी वाले डिवाइस पर रद्द होने से बचने के लिए डिवाइस सीमाओं के खिलाफ आकार जांच शामिल है, जिसमें float[N] मेमोरी आवंटित होती है जो 8192 की चौड़ाई पर 32 KB तक पहुंचती है।
- M5 Pro डिवाइस पर बैकएंड ऑपरेशन टेस्ट ने MUL_MAT_HADAMARD और MUL_MAT के लिए सभी जांच पास कर दीं।
यह अपडेट llama.cpp को Metal बैकएंड में बड़े ब्लॉक आकार पर Hadamard गुणन संचालन करने की अनुमति देता है, जो Apple Silicon हार्डवेयर के लिए समर्थित टेंसर आयामों की श्रेणी का विस्तार करता है।