fa
Feedback
سیستم های رندرینگ

سیستم های رندرینگ

رفتن به کانال در Telegram

کانال تخصصی سیستم های رندرینگ و رندرباکس های حرفه ای VFX ، تدوین ، انیمیشن و سیستمهای پردازش چندرسانه ای و Broadcasting مهندس نصیری ۰۹۱۲۲۲۱۷۶۵۳ ارتباط با ادمین : @Mohammad_Nasiri_RN

نمایش بیشتر
کشور مشخص نشده استدسته بندی مشخص نشده است
224
مشترکین
اطلاعاتی وجود ندارد24 ساعت
اطلاعاتی وجود ندارد7 روز
اطلاعاتی وجود ندارد30 روز
آرشیو پست ها
محاسبات ناهم‌زمان (Asynchronous Compute)
محاسبات ناهم‌زمان (Asynchronous Compute)

روی هم رفته و در تست‌های عملی صورت گرفته عملکرد فشرده سازی رنگ در معماری پاسکال باعث افزایش 20 درصدی بازدهی پهنای باند حافظه نسبت به معماری Maxwell می‌شود. حال اگر این میزان را با افزایش بیش از 40 درصدی پهنای باند حافظه به لطف چیپ های پرسرعت GDDR5X 10GHz جمع کنیم به این نتیجه خواهید رسیم که پهنای باند عملیاتی در معماری Pascal بیش از 1.7 برابر نسبت به معماری Maxwell بیشتر شده است.

در تصویر بالا صحنه‌ای از بازی معروف Project CARS را ملاحظه می‌کنید که به روشنی عملکرد تکنیک فشرده سازی رنگ را در معماری Pascal در مقایسه با معماری Maxwell نشان می‌دهد. در این تصویر نقاطی که فشرده سازی رنگ در آن با موفقیت عملیاتی شده به رنگ ارغوانی ملاحظه می‌کنید. کاملاً مشخص است که معماری مکسول تقریباً قسمت اعظمی از رنگ‌های تصویر را فشرده سازی کرده ولی از پس فشرده سازی پوشش گیاهی و بخش‌هایی از اتومبیل بر نیامده است؛ اما در معماری پاسکال تنها بخشی از سمت چپ تصویر فشرده سازی نشده است.

فشرده سازی رنگ در معماری Pascal، فشرده سازی رنگ در معماری Maxwell، تصویر اصلی بدون فشرده سازی
فشرده سازی رنگ در معماری Pascal، فشرده سازی رنگ در معماری Maxwell، تصویر اصلی بدون فشرده سازی

در این الگوریتم GPU تفاوت‌های میان پیکسل‌ها را در یک بلوک محاسبه می‌کند و این بلوک را به‌عنوان مجموعه‌ای از پیکسل‌های مرجع به‌علاوه ارزش دلتا نسبت به مقدار مرجع ذخیره می‌کند. اگر دلتاها کوچک باشند پس تعداد بیت‌های کمتری به ازای هر پیکسل برای ذخیره شدن در حافظه نیاز خواهد بود. اگر نتیجه (مقدار حافظه اشغال شده) جمع بندی شده داده‌های مرجع به‌علاوه ارزش عدد دلتا، نصف حالت فشرده سازی نشده باشد، در این حالت تکنیک فشرده سازی اطلاعات با استفاده از الگوریتم Delta Color Compression موفق بوده است و در نهایت اطلاعات با نصف حجم اصلی خود ذخیره شده‌اند (2:1 compression) در تراشه گرافیکی GP104 قابلیت‌ها و توان عملیاتی الگوریتم فشرده سازی Delta Color Compression به میزان قابل توجهی بهینه سازی شده است: بازدهی و توان عملیاتی فشرده سازی حالت 2:1 در مقایسه با نسل قبل به میزان قابل توجهی افزایش داشته است اضافه شدن حالت فشرده سازی 4:1 برای پوشش مواردی که به ازای هر پیکسل به‌علاوه دلتا مورد نظر بسیار کوچک هستند و این قابلیت را دارند تا در ¼ فضای حالت فشرده سازی نشده خود ذخیره شوند. اضافه شدن حالت فشرده سازی 8:1 که به زبان ساده به نوعی ترکیب حالت 4:1 و 2:1 محسوب می‌شود

Enhanced Memory Compression
Enhanced Memory Compression

در واقع در طراحی کانال ارتباطی میان Die تراشه گرافیکی و چیپ ها حافظه باید به کوچک‌ترین جزئیات نیز توجه شود. در این‌گونه ارتباطات، سرعت عملیاتی و واقعی رابط حافظه تنها توسط ضعیف‌ترین سیگنال گذرگاه تعیین می‌شود. در طراحی جدید هر سیگنال در امتداد مسیر بسته خود از GPU تا چیپ های حافظه به صورت دقیق بررسی و مورد مطالعه قرار گرفته تا هر گونه افت دامنه سیگنال، تداخل و ناپیوستگی‌های موجود شناسایی شده و تمهیدات لازم برای به حداقل رساندن آن‌ها به کار گرفته شود. به گفته انویدیا تمامی تمهیداتی که در کانال‌های ارتباطی و مدارهای ورودی و خروجی این معماری اجرا شده تنها برای پایداری ارتباط با فرکانس تا 10GHz عملیاتی نشده‌اند. بلکه این طراحی به‌گونه‌ای است که حتی محصولات آینده و با پهنای باند به‌مراتب بالاتر از این را نیز در بر می‌گیرد. در واقع همین حالا نیز برخی از تولید کنندگان چیپ های حافظه از برنامه برای تولید حافظه‌های GDDR5X با سرعت بیش از 16Gbps خبر می‌دهند. حافظه‌هایی که در مقایسه با پرسرعت‌ترین چیپ های GDDR5 حال حاضر بیش از 2 برابر سریع‌تر خواهند بود! در تصویر بالا سیگنال ارتباطی حافظه‌های GDDR5X را در فرکانس 10GHz و سایر بهینه سازی‌های پیاده سازی شده در مدارهای ورودی و خروجی و کانال‌های ارتباطی را ملاحظه می‌کنید. Enhanced Memory Compression همانند معماری Maxwell تراشه‌ای جدید مبتنی بر معماری Pascal نیز از تکنیک فشرده سازی بدون افت کیفیت (lossless memory compression) اطلاعات حافظه، جهت کاهش وابستگی به پهنای باند بالای ارتباط، پشتیبانی می‌کنند. کاهش نیاز به پهنای بالا فراهم شده توسط فشرده سازی اطلاعات حافظه به صورت کلی این مزیت‌ها را در پی دارد: کاهش حجم اطلاعات نوشته شده در حافظه کاهش حجم اطلاعات منتقل شده از حافظه به L2 Cache کاهش حجم اطلاعات رد و بدل شده بین واحدهای مختلف GPU مانند Texture Unit و حافظه frame buffer Pipeline های فشرده سازی GPU در این معماری از چندین الگوریتم مختلف فشرده سازی پشتیبانی می‌کنند و البته در شرایط مختلف به صورت هوشمند و در کمترین زمان ممکن بهترین الگوریتم را برای فشرده سازی اطلاعات انتخاب می‌کنند. یکی از این مهم‌ترین و مدرن‌ترین این تکنیک‌های فشرده سازی الگوریتم Delta Color Compression است.

GDDR5X Memory
GDDR5X Memory

یکی از اساسی‌ترین تغییرات در GPU Boost 3.0 تحت عنوان per voltage point frequency offsets معرفی شده است. در این تکنیک بر خلاف نسل قبل که با فعال شدن حالت GPU Boost، ولتاژ هسته GPU نیز یک باره و یا حداکثر در چند بازه محدود افزایش می‌یافت در نسخه جدید برای هر مقدار افزایش فرکانس نسبت به فرکانس پیش فرض، ولتاژ مخصوص تعیین شده است. این امر باعث کاهش تلفات انرژی و کنترل بیش از پیش حرارت متصاعد شده از GPU می‌شود. در نتیجه این امکان فراهم می‌شود که فرکانس Boost نسبت به مدل‌های مشابه نسل قبل به صورت محسوسی افزایش یابد؛ اما این امر شاید تا حدودی اورکلاک کارت‌های گرافیک مبتنی بر این معماری را پیچیده‌تر کند. برای مثال در این معماری برای اعمال ولتاژ بیشتر به GPU دیگر گزینه‌ای برای تغییر مقادیر مختلف ولتاژ با واحد ولت مشاهده نمی‌شود و این امکان فراهم شده است که میزان انحراف ولتاژ از محدوده ولتاژ پیش فرض را تنها با تعیین درصد انحراف تعیین کرد. همچنین در این معماری گزینه‌ای برای غیرفعال کردن محدودیت‌های مرتبط با میزان Load بر روی GPU نیز در نظر گرفته شده است. پس در واقع یکی از مهم‌ترین پارامترهایی که در این معماری دست یابی به فرکانس‌های بالاتر را تسهیل می‌کند بدون شک دمای GPU خواهد بود. GDDR5X Memory پشتیبانی تراشه‌های گرافیکی مبتنی بر معماری پاسکال از حافظه‌های GDDR5X با فرکانس بیش از 10GHz بدین معناست که این تراشه‌ها و کنترلر حافظه تعبیه شده در آن‌ها قابلیت تشخیص بیت‌های 0 و 1 را در فاصله زمانی کمتر از 100 picoseconds (ps) را دارا می‌باشند. این بدان معنا است که برای حفظ پارامترهای Signaling در این فرکانس بسیار بالا، طراحی کنترلر حافظه، مدارهای مرتبط با بخش ورودی و خروجی و از آن مهم‌تر طراحی PCB برای داشتن ارتباطی پایدار و بدون افت کارایی باید دچار تغییرات فراوانی شده باشند.

GPU Boost 3.0
GPU Boost 3.0

همان‌طور که اشاره شد یکی از مهم‌ترین عواملی که باعث افزایش کارایی در معماری پاسکال شده است افزایش بیش از 45% سرعت کلاک GPU نسبت به معماری مکسول است. این میزان افزایش سرعت کلاک در عمل باعث بالا رفتن توان مصرفی تراشه خواهد شد ولی به لطف تکنولوژی 16nm FinFET به کار رفته در ساخت میلیون‌ها ترانزیستور به کار رفته در این تراشه و البته از آن مهم‌تر بهینه سازی‌های فراوان پیاده سازی شده در تایمینگ بخش‌های مختلف این تراشه مدرن، تراشه‌های گرافیکی مبتنی بر معماری Pascal یکی از پربازده‌ترین GPU های حال حاضر محسوب می‌شوند. GPU Boost 3.0 چند سالی می‌شود که تراشه‌های گرافیکی ساخت کمپانی انویدیا این قابلیت را دارند که علاوه بر فرکانس پایه هسته GPU، با توجه به دمای هسته و البته میزان Load آن، در فرکانس‌های بالاتر از این مقدار نیز فعالیت کنند. در واقع این مکانیسم که تحت عنوان GPU Boost معرفی شده است یک فرآیند خودکار اورکلاک محسوب می‌شود و تأثیر بسزایی نیز در افزایش کارایی تراشه‌های گرافیکی دارد. انویدیا در معماری Pascal از نسخه سوم این مکانیسم رونمایی کرده است. در ادامه قابلیت‌های جدید این نسخه را بررسی می‌کنیم.

معماری پاسکال: طراحی شده برای سرعت
معماری پاسکال: طراحی شده برای سرعت

اما به‌عنوان جمع بندی نهایی همان‌طور که در جدول بالا ملاحظه می‌کنید روی هم رفته 4 عدد واحد SM بیشتر و به ازای آن 512 عدد CUDA Core و 32 عدد Texture Unit بیشتر به همراه بیش از 517MHz سرعت کلاک بیشتر GPU و 3000MHz سرعت کلاک بیشتر حافظه که در عمل باعث افزایش 43% پهنای باند حافظه و توان عملیاتی واحدهای ROP می‌شود، روی کاغذ باعث افزایش 78% کارایی خام GTX 1080 در برابر GTX 980 می‌شوند. البته این در حالی است که با وجود افزایش 38% تعداد ترانزیستورها و البته به لطف تکنولوژی ساخت TSMC's 16 nm FinFET اندازه Die در تراشه GP104 حدوداً بیش از 21% کوچک‌تر شده و توان مصرفی این مجموعه نیز تنها 9% افزایش یافت است.

در تصویر بالا نیز جزئیات هر واحد SM را ملاحظه می‌کنید. واحدهای SM معماری پاسکال دقیقاً مشابه معماری مکسول طراحی شده‌اند.

NVIDIA GP104 –SM Unit
NVIDIA GP104 –SM Unit

خب همان‌طور که اشاره شد هر واحد GPC در معماری پاسکال 5 واحد SM را درون خود جای داده است که هر یک از واحدهای SM دارای 128 عدد CUDA core (واحدهای کوچک مربع شکل سبز رنگ) و 8 عدد Texture Unit (واحدهای مستطیل شکل به رنگ آبی تیره) هستند. حال برای محاسبه CUDA Core های کل این تراشه کافی است 128 را در تعداد SM های هر واحد GPC ا(عدد 5) ضرب کنید و نتیجه به دست آمده را مجدداً در تعداد واحدهای GPC این تراشه (عدد 4) ضرب کنید. نتیجه به دست آمده عدد 2560 عدد CUDA Core خواهد بود. حال اگر همین روال را برای واحدهای Texture Unit نیز تکرار کنید به عدد 160 خواهید رسید. پس 1 واحد SM بیشتر در هر GPC باعث افزایش 512 عددی CUDA core ها و همین‌طور افزایش 32 عدد واحدهای Texture Unit تراشه GP104 نسبت به GM204 شده است. از سوی دیگر بر خلاف GM204 که دارای 4 کنترلر حافظه 64bits (جمعاً 256bits) و 16 ROP Units به ازای هر کنترلر حافظه (جمعاً 64 عدد) بود، در GP104 هشت کنترلر حافظه 32bits تعبیه شده (جمعاً 256bits) که هر یک از این کنترلرها توسط 8 عدد ROP Units تغذیه می‌شوند. کاملاً مشخص است که رابط حافظه و تعداد واحدهای ROP تغییر نکرده است ولی انویدیا با در نظر گرفتن حافظه‌های بسیار پرسرعت GDDR5X با فرکانس مؤثر 10000MHz برای این تراشه قدرتمند، پهنای باند تئوری بیش از 320GB/sec را برای آن فراهم کرده است.

NVIDIA GP104 - GPC
NVIDIA GP104 - GPC

در واقع به صورت کلی تفاوت ساختاری میان تراشه گرافیکی GP104 (تراشه به کار رفته در GTX 1080) و GM204 (تراشه به کار رفته در GTX 980) در همین 1 عدد واحد SM بیشتر در GPC ها خلاصه می‌شود؛ اما اجازه دهید برای یادآوری هم که شده کمی بیشتر وارد جزئیات ساختاری واحدهای GPC و SM شویم.