پردازندههای گرافیکی دوگانه یا Dual-GPU دوباره بازخواهند گشت؟؛ تولد و مرگ SLI
ممکنه فکر کنید که اگر یک GPU خوبه پس مطمئناً دو تا پردازنده گرافیکی بهتره. تا پیش از این میشه در تاریخ پردازندههای گرافیکی به این اشاره کرد که بله دو پردازنده گرافیکی در کنار هم بهتر از یکی کار میکردن، اما این روزها دیگه نمیتونید فقط با اضافه کردن یک کارت گرافیک دوم به سیستمتون نرخ فریم رو افزایش بدید. دلیل این موضوع چیه؟ همچنین، چه زمانی میتونیم دوباره این کار رو انجام بدیم و از Dual-GPU استفاده کنیم؟ در این مقاله از بنچفا قصد داریم به این پرسشها پاسخ بدیم.
SLI چگونه و توسط کی معرفی شد
پیشگام شتابدهنده گرافیکی وودو، SLI یا «Scan-Line Interleave» رو در دهه ۹۰ معرفی کرد. این قابلیت به شما این امکان رو میداد تا دو تا از کارتهای Voodoo (که باید یکسان باشن) رو به همدیگه متصل کنید و به هر کارت اجازه بدید یک خط متناوب از فریم رو رندر کنه. از نظر تئوری، این قدرت رندر شما رو دو برابر میکنه، اما در عمل این افزایش هرگز به این اندازه نیست.
با از بین رفتن Voodoo (و فناوری اون که توسط NVIDIA خریداری شد)، SLI با پردازندههای گرافیکی NVIDIA دوباره به صنعت بازگشت، اما این بار SLI کوتاه شده عبارت «Scalable Link Interface» بود.
ATi (اکنون AMD) رقیب اصلی انویدیا بود و فناوری معادل اون یعنی CrossFire تقریباً همین کار رو انجام میداد. کارتگرافیکها، یا گاهی دو تا چهار پردازنده گرافیکی روی یک کارت، با استفاده از یک گذرگاه با پهنای باند بالا به هم متصل میشدن که به اونها اجازه میداد به سرعت اطلاعات رو به اشتراک بگذارن و بنابراین میتونستند حجم کار رندر رو هم با هم SHARE کنن تا سرعت بیشتر بشه.
نحوه دقیق کار به پیادهسازی این سیستم بستگی داشت، اما معمولاً اینطور بود که GPUها فریمهای متناوب رو رندر میکردن یا هر فریم به یک الگوی شطرنجی تقسیم میشد و GPU ها هر کدام بر اساس سهم خودشون شروع به کار میکردن تا اون بخش از تصویر رو رندر کنن.
به مرگ SLI و Crossfire میرسیم
زمانی که SLI یا CrossFire استفاده میشد، عملکرد سریعتر هر GPU رو امکانپذیر میکرد، اما مشکلات مشترکی وجود داشت. لگهایی که به اصطلاح «میکرو» هم نامیده میشن ناشی از مشکلات همگامسازی و محدودیتهای پهنای باند بود. حتی زمانی که تعداد FPS بالا باشه هم در این شرایط، تجربه بازی یا رندر رو خراب میکنه. همچنین، مقیاسبندی عملکرد و در مقابل اون هزینهای که برای این کار نیاز بود بسیار زیاد و غیرمنطقی بود (برای بسیاری از کاربرها). افزودن کارت دوم عملکرد شما رو دوبرابر نمیکنه، اما اگر خوش شانس بودید شاید تا ۷۰ درصد افزایش عملکرد داشتید. در صورت وجود کارت سوم یا چهارم کاهش بازدهی رخ میداد. در بسیاری از موارد، اون کارت چهارم به معنای واقعی کلمه هیچ کاری انجام نمیداد!
با این حال، علاقهمندان همچنان مایل بودن که برای دریافت بهترین عملکرد هر چیزی بپردازن، بنابراین SLI همچنان به عنوان یک ویژگی باقی موند، اما ناقوس مرگ اون زمانی فرا رسید که بازیها پشتیبانی از اون رو متوقف کردن. نه تنها اجرای SLI یک کار اضافی برای توسعهدهندهست، بلکه روشهایی که بازیها ارائه میکنن برای SLI مناسب نیستن.
موتورهای بازی مدرن اغلب از دادههای فریمهای گذشته برای بهبود فریمهای فعلی یا ارائه اونها، با بافرها و انبوهی از دادههایی که باید به اطراف منتقل بشن، استفاده میکنن. نتیجه نهایی اینه که SLI و Crossfire برای نحوه کار این موتورهای بازی مناسب نیستن، چون دادههای گذشته یا محتویات اون بافرها نمیتونن با سرعت کافی جابهجا بشن.
اپل چطور میتواند پردازندههای گرافیکی را به هم بچسباند؟
اتصال دو کارت گرافیک به یکدیگر با یک کابل ممکنه به اندازه کافی خوب نباشه تا به فناوری SLI اجازه بده که در بازیهای مدرن یا برنامههای سهبعدی بهخوبی کار کنه، اما بهنظر میرسه اپل این مشکل رو با ایجاد یک اتصال فوقالعاده سریع بین GPUهای خودش حل کرده.
با گرفتن کپی های متعدد از ماژولهای Apple Silicon system-on-a-chip و در اصل چسبوندن اونها با کانکتورهایی با پهنای باند فوقالعاده بالا، این مشکل کاملا از بین میره.
این روش بهتر هم هست؛ چرا؟ چون دیگه نیازی نیست که توسعه دهندگان نرم افزار کار اضافهای انجام بدن. چون برای یک بازی یا برنامههای دیگر، شبیه یک GPU واحد عمل میکنه؛ حتی اگر چندین پردازنده گرافیکی مجزا در پردازندهای مثل Apple M1 Ultra یا M3 Max وجود داشته باشه. البته این کار بهراحتی برای پردازندههای گرافیکی بسیار قدرتمند انجام نمیشه و ممکنه هزینه زیادی داشته باشه. اما به هرحال خیلی دور از دسترس نیست. به همین دلیل میتونیم اون رو در لیست انتظاراتمون در آینده نزدیک قرار بدیم.
Directx 12 از Multi-GPU پشتیبانی میکند
تکنیکهایی مانند SLI توسط درایورها و پیادهسازی فناوریهای سازنده GPU انجام میشه. یک توسعهدهنده باید موتور بازی خودش رو برای SLI بهینه کنه. البته ذکر این نکته بد نیست که بدونید اینکه دقیقا اون دو پردازنده گرافیکی قراره چطوری اطلاعات رو برای پردازش بین خودشون تقسیم کنن ارتباط زیادی با سازنده پردازندههای گرافیکی هم داره.
آخرین نسخه DirectX تا این لحظه DirectX 12 Ultimate محسوب میشه و این API (رابط برنامه نویسی برنامه) پشتیبانی از چند GPU رو ارائه میده. این بدان معناست که اگر یک کامپیوتر بیش از یک GPU داشته باشید، توسعهدهنده میتونه دقیقاً کنترل کنه که چه کاری به هر تراشه داده بشه و چگونه همه اونها در نهایت نتیجه پایدار و مثبتی داشته باشن.
لازم نیست پردازندههای گرافیکی یک مدل یا حتی یک برند باشن! بنابراین، روی کاغذ، این شگفتانگیز به نظر میرسه، اما علیرغم اینکه این مورد در DirectX 12 قرار گرفته، بازیهای کمی از اون پشتیبانی میکنن. من فقط میتونم حدس بزنم که این احتمالا فشار زیادی برای توسعهدهندگان به همراه داره چون که یه بار دیگه باید برای گروه کوچیکی از افراد که دارای چندین پردازنده گرافیکی هستن، طراحی و برنامهنویسی جداگونه در نظر بگیرن.
اگرچه از نظر فنی، لپتاپهای که پردازندههای گرافیکی یکپارچه و اختصاصی دارن توی این لیست (پردازندههای گرافیکی دوگانه) میتونن جا داشته باشن. اما باید بدونید که GPU یکپارچه به اندازه کافی به پردازش گرافیکی کمک نمیکنه تا ارزش این پیچیدگی فنی رو داشته باشه. بنابراین ما به طور کلی وقتی درباره پردازندههای گرافیکی چندگانه صحبت میکنیم، منظورمون سیستمهای دسکتاپه.
پردازندههای گرافیکی چند تراشهای در راهند!
تقریبا دو سال پیش در گزارشی نوشتم که پردازندههای گرافیکی با ماژول چند تراشهای (MCM) میتونن آینده گرافیک باشن. تا حدودی شبیه به طراحی «Chiplet از »AMD برای CPUها. این قالبهای GPU حاوی چندین پردازنده گرافیکی مجزا هستن که توسط یک اتصال بسیار سریع در پردازندههای اپل به هم متصل شدن.
پردازنده گرافیکی Blackwell B200 NVIDIA رسماً اولین پردازنده گرافیکی NVIDIA MCM محسوب میشه که امیدواریم به کارت گرافیکهایی که مصرفکنندههای معمولی هم استفاده میکنن راه پیدا کنه و AMD هم پتنتهایی برای پردازندههای گرافیکی به سبک چیپلت ارائه بده. امیدواریم این امر بر هزینه کارتهای رده بالاتر تأثیر بگذاره و یک فضایی کاملاً جدید در بخش افزایش عملکرد رو برای پردازندههای گرافیکی ایجاد کنه.
بنابراین، در حالی که به نظر میرسه روزهای داشتن چندین پردازنده گرافیکی برای رندر گرافیکی یا داشتن دو تراشه مجزا روی یک کارت بعیده هرگز برگرده، اما گویا آینده بیشتر و بیشتر به سمت افزایش و چندبرابر کردن پرفورمنس پیش میره. بنابراین اصلا بعید نیست که در آینده نزدیک شاهد حضور چندین پردازنده گرافیکی روی یک قطعه باشیم و بتونیم سرعت چند برابری رو از این قطعات انتظار داشته باشیم.
بهترین راه ساخت api های جدید در گیم انجین هاست که فریما رو موازی و همزمان رندر کنن با بوکت یا پراگرسیو کاری که انجینای آفلاین پدتریس می کنن مثل سایکلز و رد شیفت و اف استورم و اکتان و ویری جی پی یو و آرنولد جی پی یو. اینجوری گرافیک دوم قدرتو دوبرابر می کنه حتی ۱۲ کارت ۱۲ برابر SLI و کراس فایر کمک می کنه کارتا از ویرم هم کمک بگبرن اما بدون اونا ویرم افزوده نمی شه. مثلا تو رندرای اپن سی ال ۱۲ تا کارت ۸ داشه باشیم ویرممون ۸
سلام درود به نظرم من این فقط یک سیاست کثیف هست وقتی چندتا ماژول رم خیلی راحت باهم کار میکنن مطمئن باشید چند تا گرافیک هم راحت باهم کار میکنن ولی به خاطر سود سرشار از فروش کارت گرافیک نمیخوان این تکنولوژی مورد استفاده عموم قرار بگیره چون اگر این اتفاق بیفتد کسی دیگه نمیره پول هنگفت برای کارت گرافیک هتی رده بالا بده مثلا شما دو دو عدد ۵۸۰ میتونید قدرت یک عدد ۳۰۹۰ رو داشته باشید به همین دلیل همیشه یک سری کار های عمدی انجام میدن و من مشکلات داره تا شما برید کارت جدیدتر و گرونتر بخری. این سیاست کثیف هست و تمام