שיעור 10: warps ו-SIMT: יחידת 32 ה-threads
החומרה של ה-GPU לא מתזמנת threads אחד-אחד, אלא בקבוצות קבועות של 32 ה-threads שנקראות warp. כל 32 ה-threads ב-warp מבצעים את אותה הוראה בו-זמנית, בצעד נעול (lockstep) — זה הלב של מודל ה-SIMT (Single Instruction, Multiple Threads). גודל ה-warp הוא 32 בכל ארכיטקטורות NVIDIA הקיימות; הוא קבוע בחומרה ול
חשוב/י על שייטים שחותרים בסירות של 32 חותרים. כולם בסירה אחת מושכים משוט באותו רגע, באותו קצב. אי אפשר לשנות את גודל הסירה ל-30 או 40 — היא תמיד 32. המקום שלך בסירה הוא ה-lane, ומספר הסירה הוא ה-warp.
- warp
- קבוצה של 32 threads שהחומרה מתזמנת ומריצה יחד בצעד נעול. גודל ה-warp קבוע: 32.
- SIMT
- Single Instruction, Multiple Threads — כל 32 ה-threads ב-warp מבצעים את אותה הוראה באותו רגע.
- lane
- המיקום של thread בתוך ה-warp שלו: lane = threadIdx.x % 32, ערך בין 0 ל-31.
- warpId
- מזהה ה-warp שאליו שייך thread בתוך ה-block: warpId = threadIdx.x / 32 (חלוקה שלמה).