שיעור 1: מה זה GPU?
לפני שנכתוב ולו שורת קוד אחת, בואו נכיר את הגיבור של הקורס: ה-GPU. דמיינו משרד. ה-CPU (המעבד הרגיל במחשב) הוא כמו צוות קטן של כמה עובדים מבריקים מאוד. כל אחד מהם חכם, מהיר, ויודע לפתור משימה מסובכת לבד מתחילתה ועד סופה. ה-GPU (המעבד הגרפי, הלב של כרטיס המסך) הוא ההפך: במקום כמה עובדי-על, יש בו אלפי
CPU הוא ארבעה מבוגרים פותרי-בעיות שיודעים לבנות לבד דגם לגו ענק ומסובך, צעד אחרי צעד. GPU הוא כיתה של אלף ילדים: כל ילד יודע רק לחבר שתי קוביות, אבל אם נותנים לכולם בו-זמנית אותה הוראה פשוטה — תוך שנייה נבנה קיר ענק. הסוד של ה-GPU הוא לא ילד חכם אחד, אלא המון ידיים שעובדות יחד.
- ליבה (core)
- עובד בודד בתוך המעבד. ל-CPU יש מעט ליבות חזקות; ל-GPU יש אלפי ליבות פשוטות שעובדות יחד.
- חוט (thread)
- המשימה הקטנה של עובד אחד — חתיכת עבודה בודדת. ב-GPU רצים אלפי חוטים בו-זמנית, כל אחד על פריט אחר.
- מקביליות (parallelism)
- כמה דברים קורים בו-זמנית, באותו רגע, במקום אחד-אחרי-השני. זה מקור הכוח של ה-GPU.
- מקביליות נתונים (data parallelism)
- לבצע את אותה פעולה בדיוק על המון פריטים בלתי-תלויים בו-זמנית — למשל לצבוע כל פיקסל או לחבר כל זוג מספרים.