مغامرات في تنفيذ Flash Attention في CUDA C++

2025-08-23

تتناول هذه المشاركة رحلة المؤلف في تنفيذ وتحسين Flash Attention في CUDA C++. بدءًا من تنفيذ أساسي، يقوم المؤلف بتحسين النواة تدريجيًا باستخدام تقنيات مثل تبديل الذاكرة المشتركة، وأنابيب المرحلة المزدوجة، واستخدام أكثر كفاءة لـ ldmatrix. من خلال عمليات التصحيح والتعديل المتكررة، تصل التنفيذ النهائي إلى أداء قريب من الحد النظري للأجهزة. تتعمق المشاركة أيضًا في تعقيدات تنفيذ softmax عبر الإنترنت وحل تعارضات بنوك الذاكرة المشتركة، مما يوفر رؤى قيّمة لمطوري CUDA C++.

التطوير