llama.cpp प्रोजेक्ट ने बिल्ड b11302 जारी किया, जिसने CI पाइपलाइन में ThreadSanitizer द्वारा पहचाने गए एक गंभीर कन्करेंसी मुद्दे को संबोधित किया। अपडेट ने उस डेटा रेस को हल किया जो स्पार्स एटेंशन तंत्र के भीतर था, जहां कई CPU थ्रेड्स गलत तरीके से समान मेमोरी तत्वों में लिख रहे थे।

  • मृत इंडेक्सर स्लॉट अब एकल सेंटिनल रोड को साझा करने के बजाय अद्वितीय स्कैटर रो (n_kv + स्लॉट) निर्दिष्ट करते हैं।
  • लाइव स्लॉट असंगत सेल्स को एड्रेस करते हैं, यह सुनिश्चित करते हुए कि किसी टोकन के लिए स्कैटर इंडेक्स सभी चयन पथों में अद्वितीय रहते हैं।
  • ठीक करने से top_k द्वारा चुने गए अदृश्य पूल और टोकन की टेल सेल्स के बीच ओवरलैप समाप्त हो जाता है।

यह बदलाव स्पार्स इंडेक्सर मास्क निर्माण के थ्रेड-सेफ संचालन को सुनिश्चित करता है, साझा मेमोरी स्थानों में कन्करेंट लिखने से होने वाले अनिर्धारित व्यवहार को रोकता है।