שיעור 2: למה GPU? תפוקה מול זמן-תגובה
מעבד (CPU) בנוי מכמה ליבות חזקות מאוד שמסיימות משימה בודדת מהר — זה זמן-תגובה (latency) נמוך. כרטיס מסך (GPU) בנוי מאלפי ליבות פשוטות שמבצעות את אותה פעולה על המון נתונים בו-זמנית — זו תפוקה (throughput) גבוהה. כשצריך לחבר שני וקטורים באורך מיליון, ה-CPU עובר איבר-איבר בלולאה, ואילו ה-GPU מקצה threa
CPU הוא כמה שפים מומחים שמכינים מנה מורכבת מהר. GPU הוא אלף טבחי קו, שכל אחד חותך עגבנייה אחת — לבד כל אחד איטי, אבל יחד הם חותכים אלף עגבניות בזמן של אחת.
- תפוקה (throughput)
- כמות העבודה שמסתיימת ליחידת זמן. ה-GPU מנצח כאן: הרבה פעולות זהות במקביל.
- זמן-תגובה (latency)
- הזמן לסיים פעולה בודדת. ה-CPU מנצח כאן: ליבה אחת חזקה מסיימת משימה אחת מהר.
- kernel
- פונקציה שרצה על ה-GPU. מסומנת ב-__global__ ומופעלת על-ידי אלפי threads בו-זמנית.
- SIMT
- Single Instruction, Multiple Threads — כל ה-threads מריצים את אותה הוראה, כל אחד על נתון אחר.