چرا به GPU نیاز داریم؟ آموزش و یادگیری چرا به GPU نیاز داریم؟ به صورت رایگان
اگه قرار باشه یه تصویر ساده روی صفحه مانیتور نمایش بدیم، شاید به نظر نرسه ولی همین مسئله خودش یه چالش بزرگ برای پردازشه.
مثلاً فرض کنید یه تصویر با ابعاد 1920×1080 داریم.
میشه چیزی حدود ۲ میلیون پیکسل.
حالا فرض کنید بخوایم برای هر کدوم از این پیکسلها محاسباتی انجام بدیم؛ اونم نه فقط یک بار، بلکه دهها یا صدها بار در هر ثانیه.
تازه این فقط پردازش پیکسله.
تو یک بازی سهبعدی، قبل از اینکه به Pixel برسیم باید با هزاران یا میلیونها Vertex، Triangle، Texture و محاسبات مربوط به نور، سایه، عمق و… سر و کله بزنیم.
اینجاست که یک سؤال مهم به وجود میاد:
“آیا CPU برای انجام این همه محاسبات در هر فریم ساخته شده؟”
جواب: “خیرر!
مگه اینکه با FPS ۵ راضی باشید!
"
پس این محاسبات کجا انجام میشن؟
اینجا پای GPU وسط میاد.
CPU و GPU چه فرقی با هم دارن؟
CPU برای انجام کارهای عمومی و متنوع ساخته شده.
مثلاً برنامهای که داریم اجرا میکنیم ممکنه لازم داشته باشه:
- یک فایل رو بخونه.
- تصمیم بگیره چه کاری انجام بشه.
- یک شرط رو بررسی کنه.
- دادهها رو پردازش کنه.
- یک الگوریتم پیچیده رو مرحلهبهمرحله اجرا کنه.
این نوع کارها معمولاً به هستههای قدرتمند و انعطافپذیر نیاز دارن.
اما محاسبات Graphics یک ویژگی خیلی مهم دارن:
خیلی از محاسباتش رو میشه به تعداد زیادی کار کوچک و مشابه تقسیم کرد.
فرض کنید میخوایم رنگ یک میلیون Pixel رو محاسبه کنیم.
به همچین الگویی میرسیم:
Pixel 1 –> محاسبه رنگ
Pixel 2 –> محاسبه رنگ
Pixel 3 –> محاسبه رنگ
…
Pixel 1,000,000 –> محاسبه رنگ
نکته: همونطور که میبینید هر پیکسل یک الگوی مشابه رو تکرار میکنه و محسابات هر پیکسل، مستقل از پیکسل دیگری است!
پس به جای اینکه یک پردازندهی خیلی قدرتمند داشته باشیم که تو هر فریم دونه به دونه رنگ پیکسل های صفحه رو حساب کنه، میتونیم هزاران یا میلیون ها واحد پردازشی داشته باشیم که همزمان توی یک فریم دارن به صورت موازی رنگ همه پیکسل های صفحه رو حساب میکنن.
این دقیقاً جاییه که GPU میدرخشه.
GPU یعنی چی؟
GPU مخفف Graphics Processing Unit هست.
همونطور که از اسمش پیداست، GPU در ابتدا برای انجام محاسبات مربوط به Graphics طراحی شد.
اما امروزه کاربردش خیلی گستردهتر شده.
چون GPU در انجام حجم زیادی از محاسبات مشابه و قابلموازیسازی بسیار قدرتمنده، میتونه در زمینههایی مثل:
- شبیهسازیهای علمی
- پردازش تصویر
- یادگیری ماشین
- محاسبات عددی
- پردازش ویدئو
هم استفاده بشه.
اما چیزی که برای ما مهمه اینه که:
GPU برای انجام تعداد زیادی محاسبهی مشابه و موازی ساخته شده.
و Graphics دقیقاً یکی از جاهایی است که چنین الگویی بهشدت دیده میشه.
توی تِرِد بعد به آناتومی GPU میپردازیم…