این فرض که اگر یک کارت گرافیک جدید (پردازنده گرافیکی) بتواند کار شما را X بار سریعتر انجام دهد، دو کارت گرافیک که همان کار را دو برابر سریعتر انجام میدهد مقعول به نظر میرسد ولی دقیقا به همین شکل نیست و به چند چیز بستگی دارد.
خرید و ترکیب پردازندههای گرافیکیای که در حد بودجه شما هستند، ممکن است ایدهای عالی برای رسیدن به قدرت بیشتر باشد، اما همیشه اینگونه نیست و مانند خیلی از کارها، یک سری نکات ریز وجود دارد که شما را از متصل کردن چند پردازنده گرافیکی به هم، برای رسیدن به نتیجهای مطلوبتر، باز میدارد.
SLI چیست و چگونه کار میکند ؟
SLI یا (Scalable Link Interface) تکنولوژیای است که توسط کمپانی انویدیا خریداری و توسعه یافته و به کاربران این امکان را میدهد که چند کارت گرافیک با پردازندههای مشابه (حداکثر چهار کارت گرافیک) را به هم وصل کند.
این تکنولوژی اجازه میدهد که از نظر تئوری، از همه پردازندههای گرافیکی برای کارهای محاسباتی خاص، استفاده شود. با استفاده از این تکنولوژی، دیگر نیازی به جمع کردن کامپیوتر برای هر پردازنده گرافیکی یا انتظار برای نسل جدیدی از پردازندههای قویتر، نخواهد بود.
این تکنولوژی بر پایه یک سیستم ارباب – بردهای کار می کند، به این صورت که پردازنده گرافیکی ارباب (اصلی ترین یا اولین پردازنده گرافیکی در کامپیوتر) پردازندههای برده را به وسیله بریجهای SLI (SLI Bridges)، کنترل و هدایت میکند.
پردازنده گرافیکی ارباب، نقش یک هاب کلی را دارد تا از ارتباط بین پردازندههای گرافیکی برده و به عمل رساندن کارهای در دست انجام به شکلی موثر، اطمینان حاصل کند.
پس از آن، پردازنده گرافیکی ارباب، قبل از ارسال نتیجه به مانیتور برای نمایش به کاربر، تمام اطلاعات پخش شده را به یک چیز قابل درک ترکیب میکند.
حال شاید این سوال پیش برای شما پیش بیاید که چرا اصلا نیاز به یک بریج SLI است. آیا نمیشود که از اسلاتهای PCIe و خطوط PCIe به جای بریجهای SLI استفاده کرد ؟
در تئوری بله، میشود از آنها استفاده کرد اما مشکلی که وجود دارد این است که وقتی از محصولات جدیدتر و قویتری استفاده میکنید، به این معنی است که چیزهایی که در ۱۵ سال گذشته ساخته شدهاند برای شما کافی نیستند.
یک خط PCIe، فقط توانایی این را دارد که اطلاعات زیادی را در خود نگه داشته و ارسال کند. تا همین اواخر، اگر سعی بر این داشتید که پردازندههای گرافیکی را فقط از طریق خطوط PCIe به هم متصل کنید، با مشکل بزرگ کمبود پهنای باند مواجه میشدید. این مشکل به حدی اذیت کننده است که استفاده از تنها یک پردازنده گرافیکی، سادهتر و کارآمدتر است.
هدف بریج SLI، رفع چنین مشکلی است. این روش برقراری ارتباط بین پردازندههای گرافیکی خطوط PCIe را دور میزند و در عوض اطلاعات را به طور مستقیم، روی بریجها تخلیه میکند.
زمانی که SLI در سال ۲۰۰۴ عرضه شد، یک خط PCIe استاندارد مربوط به همان زمان (PCIe 1.0a)، پهنای باندی برابر با ۲۵۰ مگابایت بر ثانیه را داشت، در حالی که یک بریج SLI، پهنای باندی مهادل هزار مگابایت بر ثانیه را به کاربران ارائه میداد.
آیا SLI ارزش خریدن دارد ؟
در گذشته که شما برای اجرای سنگینترین بازیهای کامپیوتری به بیش از یک پردازنده گرافیکی نیاز داشتید و خطوط PCIe پهنای باند کمی را ارائه میداند، تهیه SLI بسیار منطقی بود. اما امروزه، پردازندههای گرافیکی به حدی قدرتمند شدند، که خرید یک کارت گرافیک قدرتمندتر در برابر سر و کله زدن با مشکلات و دردسرهایی که SLI با خود به همراه دارد، منطقیتر است. SLI مشکلاتی همچون لگ، پشتیبانی بد از بازیها، گرمای اضافی، مصرف انرژی اضافی، سیمکشیهای بیشتر در کیس و کمترین ارزش برای پول خرج شده را دارد. شما اگر دو پردازنده گرافیکی SLI را به هم متصل کنید، عملکرد ۲۰۰ درصدی را تجربه نخواهید کرد، بلکه در بهترین حالت ۱۵۰ درصد افزایش عملکرد خواهید داشت.
علاوه بر اینها، از آنجایی که استقبال بازیکنان از SLI ضعیف یوده، تقریبا هیچ انگیزهای برای توسعه دهندگان این بازی وجود ندارد که بازیهایشان از آن پشتیبانی کند.
به زبان ساده، NVLink، برادر بزرگتر و خفنتر SLI است. این تکنولوژی در ابتدا به صورت انحصاری مختص پردازندههای گرافیکی سازمانی بود، اما همزمان با عرضه سری ۲۰۰۰ کارتهای گرافیکی انودیا، این تکنولوژی برای بازار مصرف کنندگان عادی نیز در دسترس قرار گرفت.
NVLink آمد که بزرگترین و مهمترین مشکل در SLI، که پهنای باند بود، را برطرف کند. SLI در زمان خودش از PCIe سریعتر بود، اما کافی نبود. حتی با اینکه بعدها کمپانی انویدیا بریجهایی با پهنای باند بیشتر را معرفی کرد، اما باز هم کمبود پهنای باند حس میشد. بله، با کمک SLI پردازندههای گرافیکی میتوانستند به شکلی کارآمد در کنار هم کار کنند، اما SLI، این کار را با محدودیتهایی ارائه میداد. زمانی که NVLink معرفی شد، بیشترین پهنای باندی که یک بریج SLI انویدیا ارائه میکرد، ۲ گیگابایت بر ثانیه و بیشترین پهنای باندی که یک خط PCIe استاندارد در آن زمان (PCIe 3.0) ارائه میداد، چیزی برابر با ۹۸۵ مگابایت بر ثانیه بود. همین مقدار برای NVLink، در بعضی از چیدمانهای سازمانی، ۳۰۰ گیگابایت بر ثانیه و برای مصرف عموم، ۱۰۰ گیگابایت بر ثانیه بود.
پس میتوان گفت که عملکرد دریافتی کاربران از SLI، چیزی کمتر از دو و بیشتر از یک پردازنده گرافیکی بود.
تفاوت این دو تکنولوژی چیست ؟
تاخیر، یکی از عوامل موجود در فرق داشتن این دو تکنولوژی است. شما میتوانید از SLI برای ترکیب کردن پردازندههای گرافیکی استفاده کنید، ولی ارسال اطلاعات به حدی طولانی است که کاربر نتیجه ایدهآل مد نظر را دریافت نمیکند. اینجاست که NVLink میدرخشد. تکنولوژی NVLink مثل آبراهام لینکلن، سیستم ارباب بردهای ذکر شده در SLI را با یک سیستم شبکه مشبک (Mesh Networking) جایگزین کرد.
در این سیستم، هر پردازنده گرافیکیای به صورت مستقل کار کرده و میتواند به صورت مستقیم با پردازنده و دیگر پردازندههای گرافیکی، تبادل اطلاعات داشته باشد. این سیستم، در کنار چندین پین و پروتکل سیگنال بیشتر، تاخیر در NVLink را به شدت پایین میآورد و به آن اجازه میدهد که برای انجام محاسبات پیچیده بیشتر، بهتر بتواند از منابعی همچون حافظه گرافیکی، استفاده کند.
نقاط ضعف NVLink
تکنولوژی NVLink در بعضی موارد عملکردی عالی دارد، ولی نه در همه اوقات. این تکنولوژی در کارهایی مثل رندر کردن یک صحنه با میلیونها polygon یا ویرایش یک قطعه فیلم با کیفیت 12K، عملکرد بهتری دارد. با استفاده از دو یا چند پردازنده گرافیکی متصل شده به هم با استفاده از NVLink، میتوان این چنین کارها را به شکلی کارآمدتر، انجام داد. (البته اگر نرمافزار مرود استفاده از چنین ویژگیای پشتیبانی کند)
با در نظر گرفتن وضعیت فعلی این تکنولوژی، اگر قصد دارید که با کمک NVLink بازی 2077 Cyberpunk را با تنظیمات Ultra و رزولوشن 8K اجرا کنید و انتظار نتیجه بهتر داشته باشید، باید بدانید که شدنی نیست. اگر هم اجرا شود به افتضاحترین نتیجه ممکن را میگیرید.
تکنولوژی NVLink به شکلی که خیلیهای انتظارش را داشتند، نرسیده بود. حتی امروزه، سیستمهای بازی با چند پردازنده گرافیکی دارای مشکلاتی هستند که حتی اجرای یک بازی روی آنها به شدت سخت است. حتی اگر اجرا هم شوند، بازیکنان ریز لگهای (Micro Stuttering) زیادی را تجربه میکنند. البته این حقیقت که پشتیبانی از توسعه از سیستمهای بازی با چند پردازنده گرافیکی، تقریبا وجود ندارد، کم تاثیر نیست.
اگر کار مورد نظر جنبه بهرهوری و سازمانی داشته باشد، بله. با اینحال، شما میتوانید برخی از بازیهای منتخب را اجرا کنید، ولی بهینه بودنی در کار نیست. شاید عملکرد بالایی دریافت کنید، ولی عملکرد دریافتی کلی شما، به نسبت اجرای بازی با یک پردازنده گرافیکی قدرتمند، بدتر است.
وقتی میگوییم که استفاده از چند پردازنده گرافیکی برای بهرهوری بهتر است، بخش بزرگی از این بهرهوری مربوط به رندر کردن است. خیلی از موتورهای رندر کردن مثل RedShift، Octane یا Blender’s Cycle، از پردازنده گرافیکی شما استفاده میکنند.
یکی از نکتههای مثبت رندر کردن با پردازنده گرافیکی این است که برای استفاده از چند پردازنده گرافیکی در پروسه رندر کردن، نیازی به تکنولوژیهای SLI یا NVLink ندارید. اگر پردازندههای گرافیکی شما به هیچ شکلی به هم متصل نیستند، موتور رندر اطلاعات صحنه شما را به هرکدام از پردازندههای گرافیکی ارسال کرده و همه آنها بخشی از تصویر شما را رندر میکنند.
شما میتوانید این پدیده را با شمردن تعداد سطلهای رندر (Render Buckets)، مشاهده کنید که معمولا با تعداد پردازندههای سیستم شما برابری میکند.
با اینکه هیچ کدام از موتورهای رندر موجود، نیازی به وجود اتصال میان چند پردازنده گرافیکی ندارند، اما برخی از آنها میتوانند از این ویژگی استفاده کنند. زمانی دو پردازنده گرافیکی را با کمک NVLink به هم متصل میکنید، حافظه گرافیکی آنها به اشتراک گذاشته میشود و برخی از موتورهای رندر، مثل Redshift یا Octane میتوانند از این ویژگی استفاده کنند.
در اکثر مواقع، شما هیچ تفاوتی در میزان بهینه بودن مشاهده نمیکنید و زمان رندر کردن شما فرقی نمیکند. اگر روی صحنههایی پیچیده کار میکنید که نیازی بیشتر از حافظهای که یک کارت گرافیک ارائه میدهد دارد، استفاده از NVLink میتواند در سرعت رندر تاثیر داشته باشد.
کمپانی Chaos group، سازنده موتور رندر محبوب V-Ray، مقایسهها و تستهایی گسترده روی رندر کردن با استفاده از ویژگی NVLink و بدون استفاده از آن انجام داده است. در این تست از دو پردازنده گرافیکی RTX 2080 و دو پردازنده گرافیکی RTX 2080Ti برای رندر کردن پنج صحنه با پیچیدگیهای مختلف در V-Ray، استفاده شده است.
طی تست، نتیجه شد که در چهار صحنه، رندر کردن با NVLink موجب کاهش در عملکرد میشود. دلیل چنین پدیدهای ساده است؛ با وجود اینکه متصل کردن پردازندههای گرافیکی توسط NVLink، موجب جمع شدن حافظه گرافیکی هر کارت گرافیک میشود، اما فعالسازی سیستم NVLink، خود نیاز به منابعی برای مدیریت دارد، که باید از منابع مورد نیاز برای رندر کردن کاسته شود.
نکته جالبتر اینجاست که چهار تست اول، هیچ نیازی به حافظه گرافیکیای، بیشتر از آنچه که هر پردازنده گرافیکی ارائه میدهد، ندارد.
البته، صحنه پنجم (Lavina_Lake)، تنها با کمک دو کارت گرافیک RTX 2080 Ti که با NVLink به هم متصل شدند، رندر شده است (با حافظه گرافیکی کلی ۲۲ گیگابایت). دلیل چنین پدیدهای، پیچیدگی بیش از حد صحنه پنجم بود که با کمک حافظه گرافیکی ارائه شده از هر یک از کارتهای گرافیکی، به تنهایی، ممکن نبود. همچنین، دو کارت گرافیک RTX 2080، با کمک NVLink، مقدار حافظه کلی ۱۶ گیگابایت را ارائه میدادند که باز هم برای نتیجه گرفتن کافی نبود.
همانطور که در تست قابل مشاهده است، تکنولوژی NVLink تنها در برخی موارد نادر و در شرایطی که پروژه شما پیچیدگی بالایی دارد و نیاز به رم گرافیکی بیشتری است، کارایی دارد.
آیا میتوان از بریج SLI روی NVLink هم استفاده کرد ؟
خیر، NVLink یک سیستم مجزا با رابطهای مخصوص خود است. برای استفاده از آن، باید آن را تهیه کرد.
چند کارت گرافیک میتوان به SLI یا NVLink متصل کرد ؟
1. در سیستم SLI، حداکثر چهار کارت گرافیک
2. در سیستم NVLink، برای مصارف دو عدد کارت گرافیک و در برخی از سیستمهای سازمانی تا ۱۶ عدد.
چرا عملکرد SLI یا NVLink در اجرای بازی ضعیف است ؟
بیشتر ضعف دیده شده در این دو تکنولوژی در بحث بازی، پیادهسازی آنها در بازی و تجربه لگ در حین بازی است. هر دو این مشکلات با صرف زمان کافی در توسعه قابل رفع هستند، ولی زمانی که حدود یک درصد بازیکنان از این تکنولوژیها استفاده میکنند، اشتیاق بزرگی برای توسعه و بهینه کردن آنها وجود ندارد.
آیا میتوان چند کارتهای گرافیکی مختلف را با کمک SLI یا NVLink به هم متصل کرد ؟
1. زمانی که از SLI پشتیبانی میشد، متصل کردن چند کارت گرافیک مختلف ممکن نبود. برای مثال، یک کارت گرافیک GTX 1080 باید به یک کارت گرافیک GTX 1080 دیگر متص میشد. سازنده آن هم اهمیتی ندارد.
2. در NVLink داستان کمی پیچیدهتر است. بعضی از پردازندههای گرافیکی مختص مصارف عمومی وجود دارند که از اتصال به یک پردازند گرافیکی سازمانی پشتیبانی میکنند، اما تعداد چنین پردازندههایی که از اتصال به پردازندههای مختلف پشتیبانی کنند، کم است.
3. در کل، تهیه دو کارت گرافیک هم نوع کم دردسرتر است.
آیا SLI منسوخ شده است؟
بله
آیا برای استفاده از NVLink، به مادربرد خاصی نیاز است ؟
خیر، تنها نیاز به دو یا چند پردازنده گرافیکی دارید که از NVLink و بریج NVlink پشتیبانی کنند.
آیا میتوان پردازندههای AMD و انویدیا را با استفاده از NVLink به هم متصل کرد ؟
خیر، اما در گذشته برای اتصال پردازندههای این دو شرکت با NVLink به هم، تلاشهایی صورت گرفته است.
آیا تمام کارتهای گرافیکی سری ۳۰۰۰ کمپانی انویدیا از NVLink پشتیبانی میکنند ؟
خیر، در حال حاضر تنها کارت گرافیک RTX 3090 از NVLink پشتیبانی میکند.