این شفاف سازی مورد نیاز دوستان در خصوص مسائل بیان شده از طرف یکی از کارکنان AMD.
DX12 Async Shaders A Big Advantage For AMD Over Nvidia Explains Oxide Games Dev
معماری که فاقد اینجین یا اینجین های لازم جهت پردازش موازی و ناهمگام اطلاعات می باشد قرار چطوری با درایور و نرم افزار از این فناوری پشتیبانی کند؟ تا اونجایی که من می دونم نرم افزار جهت عملکرد صحیح سخت افزار طراحی میشه، ولی اول باید سخت افزار باشه تا نرم افزار بتونه بر پایه اون اجرا و طراحی بشه. معماری مکسول در در انجام پردازش های گرافیکی و محاسباتی به صورت موازی عاجز است که این دقیقآ به معنای فناوری پردازش های ناهمگام یا همون Asynchronous Shaders می باشد و گرنه پردازش های خطی خیلی خوب دارن توسط این معماری اجرا میشن.
فرق معماری GCN و مکسول در اجرای همزمان این عملیات است. در معماری مکسول ابتدا اطلاعات ذخیره شده در Main Graphic Queue توسط Command Processor پردازش می شن، بخشی از شتاب دهنده گرافیکی به حالت بیکار قرار می گیره تا اطلاعات ذخیره شده در در Compute Queue آماده برای پردازش بشن. پس از پردازش اطلاعات واحد محاسباتی مجددآ اطلاعات Main Graphic Queue آماده پردازش میشن و بعد اطلاعات Compute Queue و همین روند ادامه دارد تا تمامی اطلاعات موجود به صورت صد در صد پردازش بشه. اگر به حالت کلی به این قضیه نگاه بشه معلومه که مکسول داره اطلاعات را به صورت خطی پردازش می کنه. دلیل وجود فارآیندی تحت عنوان Context Switching در معماری مکسول هم همین مورد است.
در معماری GCN انجین های مخصوصی تحت عنوان ACE که مخفف Asynchronous Engine می باشند قرار گرفته اند. اطلاعات Main Graphic Queue هنگامی که داره توسط Mian Processor پردازش میشه در همان زمان اطلاعات Compute Queue نیز توسط واحد های پردازش ناهمگام پردازش می شن که به معنای پردازش موازی اطلاعات (پردازش اطلاعات گرافیکی و محاسباتی در یک زمان) می باشد و تمامی نیت خوابیده پشت ارائه فناوری Asynchronous Shaders پردازش موازی اطلاعات می باشد، چیزی که در معماری مکسول داره به صورت خطی پردازش میشه. حالا کارت های انویدیا دارای تعداد 31 یا 32 واحد ذخیره اطلاعات یا همون Queue باشه، وقتی اطلاعات داره به صورت خطی پردازش میشه دلیل وجود این همه واحد چیست؟
معماری مکسول کبیر با عنوان فول ساپورت DX12.1 عرضه شد. معماری که قابلیت پردازش های ناهمگام را به صورت بهینه نداره (نمی گم کلآ نداره) چطوری با عنوان فول ساپورت عرضه شده، این مورد هم حتمآ قراره به سهل انگاری انویدیا ربط داده بشه که یادش رفته اینجین های مربوطه را در تراشه هاش بذاره؟ فیچر لول DX12-1 در حال حاظر همونطور که دوستان می دونن فقط از قابلیت های Conservation Resterization و Resterizer Order View بهره می بره که این دو تکنیک در بازی Dirt بدون ساپورت سخت افزاری کارت های گرافیک AMD شبیه سازی شدن. پس عدم پشتیبانی از فیچر لول فرقی چندان فرقی نداره، ولی عدم ساپورت سخت افزاری ... .
DX12 خیلی خیلی فراتر از اون چیزی هست که بشه اینقدر راحت دربارش بحث کرد و گفت که فلان معماری کاملا از ویژگی های این رابط پشتیبانی می کنه. معماری هایی که قبل از عرضه رسمی DX12 عرضه شدن بر چه منطق و پایه و اساسی قراره از تمامی ویژگی های رابطی که هنوز عرضه نشده و در دست طراحی است به صورت کامل پشتیبانی کنن. اینم اضافه کنم که همین فناوری پردازش های ناهمگام افزایش 46 درصدی تا 50 درصدی برای کارت های amd به ارمغان آورده.
دوستان عزیز به کلمه May در تصویر بالا دقت کنند. مطمئنآ پشتیبانی سخت افزاری کارت های AMD از پردازش های موازی خوبی های خودش رو داره.
در آخرم اضافه کنم اگر اشتباه نکنم یکی تو یه پستی دیدم که در مورد کارت 970 و عدم پتانسیل اورکلاک Fury x صحبت شده بود! خواستم بگم عدم اورکلاک کارت های Fury به خاطر نسخه اول بودن حافظه های HBM و ضعف اونها در اورکلاک هست.