گیگافلاپس (GFLOPS) چیست؟ آشنایی با FP32 و FP64 و اکستنشن‌های SSE و AVX و FMA پردازنده‌های x86 اینتل و AMD

گیگافلاپس به معنی قدرت خام پردازش اعشاری است و معمولاً قدرت خام پردازنده یا کارت گرافیک برای انجام محاسبات اعشاری ۳۲ بیتی (به اختصار FP32) را بیان می‌کند. با اکستنشن‌های برداری که در پردازنده‌های اینتل و AMD وجود دارد و با نام SSE و AVX و FMA شناخته می‌شود، محاسبات اعشاری و صحیح به صورت موازی انجام شده و قدرت پردازشی FP32 و … بیشتر می‌شود. در ادامه به توضیحات کامل‌تر می‌پردازیم.

گیگافلاپس چیست؟ آشنایی با تفاوت FP32 و FP64

فلاپس مخفف Floating Point Operations Per Second و به معنی تعداد اعمال محاسبه‌ی اعشاری در ثانیه است و در حقیقت واحدی استاندارد برای بیان قدرت پردازشی است. گیگافلاپس (یک میلیارد عمل اعشاری در ثانیه) و ترافلاپس (یک بیلیون یا ۱۰ به توان ۱۲ عمل اعشاری در یک ثانیه) در بیان قدرت پردازشی پردازنده‌های امروزی، به کار می‌رود.

محاسبه‌ی صحیح یا اینتیجر به این معنی است که اعداد بخش اعشاری ندارند و یا دقت زیادی لازم نیست. ۱۶ بیت برای هر عدد (معادل ۲ بایت) به کار می‌رود. اعداد اعشاری یا در واقع اعداد دارای بخش اعشاری (Floating Point)، می‌توانند دقت واحد (۳۲ بیت یا ۴ بایت برای هر عدد) و یا دقت مضاعف یا دو برابر یا double precision که معمولاً به آن دابل می‌گویند (برای هر عدد ۶۴ بیت) داشته باشند. بنابراین محاسبه‌ی اعشاری می‌تواند به صورت ۳۲ بیتی یا ۶۴ بیتی باشد و البته حالت ۱۶ بیتی هم در گوشی‌ها و پردازش اعشاری سبک‌تر، کاربرد دارد.

در اینتوتک به سه حالت اشاره شده به اختصار FP32 و FP64 و FP16 می‌گوییم. گیگافلاپس بدون ذکر دقت محاسبه، به معنی FP32 است.

پردازنده‌های گرافیکی ساده‌ای که گیمرها استفاده می‌کنند، برای محاسبات اعشاری ۳۲ بیتی طراحی شده‌اند و معمولاً قدرت محاسبات اعشاری با دقت مضاعف (همان FP64)، کسری از قدرت محاسبات اعشاری با دقت واحد (FP32) است. مثلاً در GTX 780 Ti قدرت پردازشی FP64 معادل ۱/۲۴ قدرت محاسبات ۳۲ بیتی است.

کاربرد FP64 در مواقعی است که پردازنده‌ی گرافیکی برای اعمال محاسباتی خاص و دقیق به کار می‌رود. به عنوان مثال در یک بازی بهینه، موقعیت دقیق اجسام، پرتوهای نور و سایه‌ها، برخورد اجسام و محاسبات فیزیکی، شبیه‌سازی بسیار دقیق جریان مایعات، سطح آب و حرکات مو و … لازم نیست. کافی است تخمینی از تمام موارد لحاظ شود و تصویر نهایی رندر شود. به چند کاربرد ساده توجه کنید:

کاربردهای خاص محاسبات اعشاری با دقت مضاعف یا FP64

Ray Tracing یا محاسبه‌ی مسیر پرتوی نور

تسلا برای محاسبه، کوآدرو برای رندرینگ و مدل‌سازی سه‌بعدی

بنچ‌مارک LuxMark برای محاسبه‌ی مسیر باریکه‌های نور، از OpenCL و قدرت بسیار بالای پردازنده‌ی گرافیکی بهره می‌گیرد. Ray Tracing یا محاسبه‌ی مسیر پرتوی نور، یکی از کاربردهای گسترده‌ی پردازنده‌ی گرافیکی در سال‌های اخیر بوده و در کامپیوترهای ویژه‌ی رندرینگ، معمولاً از کارت گرافیک‌هایی با FP64 بالاتر در حد کوآدروهای انویدیا و فایرپروهای ای‌ام‌دی استفاده می‌شود. تسلا FP64 بسیار بالایی دارد و در FP32 نیز درخشان ظاهر می‌شود، لذا در محاسبات توسط نرم‌افزارهای مهندسی خاص، کاربرد دارد و برای صرفاً رندرینگ، گزینه‌ی خوبی نیست.

رندر بسیار طبیعی به کمک Ray Tracing

رندر بسیار طبیعی به کمک Ray Tracing

رندر بسیار طبیعی به کمک Ray Tracing

رندر بسیار طبیعی به کمک Ray Tracing

تشخیص چهره

برای لاگین کردن می‌توان از تشخیص چهره‌ی کاربر استفاده کرد. به جای استفاده‌ی صرف از هسته‌های پردازنده‌ی اصلی، می‌توان محاسبات دقیق اعشاری را به کمک پردازنده‌ی گرافیکی انجام داد.

شبیه‌سازی فیزیکی و دینامیکی ذرات

در بازی‌ها نیازی به فیزیک و دینامیک بسیار دقیق نداریم اما در شبیه‌سازی دقیق دنیای واقعی به دقت بالا نیاز داریم.

به عنوان مثال در محاسبه‌ی حرکت یک پرتابه نظیر موشک، برخورد ذرات کوچک و صلب (جامد)، تحلیل نیرو، تنش و کرنش در اجسام، تحلیل حرکات پیچیده‌ی سیالات (آب و هوا) و … به دقت بالایی نیاز است و طبعاً FP64 بالاتر، انتخاب خوبی است.

شبیه‌سازی نزدیک به واقعیت سطح سیال با محاسبات اعشاری دقیق

شبیه‌سازی نزدیک به واقعیت سطح سیال با محاسبات اعشاری دقیق

مقایسه‌ی سه کارت گرافیک ویژه‌ی بازی، محاسبه و بازی و اختصاصی برای محاسبات سنگین

انویدیا با تراشه‌ی K110 که با توجه به حرف K معماری کپلر (سری ۶۰۰ و ۷۰۰) در آن پیاده‌سازی شده، سه کارت گرافیک GTX 780 Ti و GTX Titan Black و Tesla K40C را طراحی و تولید کرده است. بنابراین هر سه دارای ۱۵ واحد SMX هستند و ۱۹۲ هسته‌ی پردازش چندمنظوره که در زبان انویدیا CUDA نام دارد، در هر SMX قرار گرفته است. بنابراین ۲۸۸۰ هسته در هر سه مدل وجود دارد. سرعت هسته‌ها اندکی متفاوت است اما آن را نادیده می‌گیریم.

در محاسبات اعشاری ۳۲ بیتی یا همان FP32، تایتان بلک و GTX 780 Ti حدود ۵٫۱ ترافلاپس قدرت خام دارند ولیکن Tesla K40C قدرت ۴٫۳ ترافلاپسی دارد و در نتیجه ضعیف‌تر است.

تسلای انویدیا محاسبه‌ی ۳۲ و ۶۴ بیتی را با بالاترین سرعت و در آن واحد انجام می‌دهد

در محاسبات اعشاری با دقت مضاعف یا همان FP64، کارت گرافیک Tesla K40C یک سوم قدرت محاسباتی FP32 خود را ارایه می‌کند حال آنکه GTX 780 Ti فقط ۱/۲۴ آن را در اختیار کاربر قرار می‌دهد. بنابراین تسلای اشاره شده، تقریباً ۷ برابر سریع‌تر است! Tesla K40C به ازای هر سه هسته‌ی محاسبات ۳۲ بیتی، یک واحد محاسبه‌ی اعشاری ۶۴ بیتی ویژه دارد، لذا بسته به نیاز می‌توان FP32 با سرعت بالاتر و یا FP64 با سرعت یک سوم را در دستور کار قرار داد.

تایتان بلک حالتی میانه دارد، اگر کاربر حالت TCC را فعال کند، قدرت محاسبات اعشاری ۶۴ بیتی، یک سوم حالت ۳۲ بیتی است و البته در این حالت، محاسبات ۳۲ بیتی با سرعت پایین‌تری انجام می‌شود.

در معماری مکسول انویدیا (سری ۹۰۰) نسبت ۱/۲۴ کپلر به ۱/۳۲ کاهش یافته است و کارت گرافیک‌ها بیشتر برای اجرای بازی‌ها بهینه هستند تا محاسبات سنگین. AMD از این نظر وضعیت بهتری دارد و نسبت ۱/۳ و ۱/۴ و ۱/۸ و یا ۱/۱۶ در محصولات مختلف دیده می‌شود و یکی از علل بالاتر بودن توان مصرفی محصولات AMD این است که واحدهای پردازشی کمتری غیرفعال هستند.

مقایسه‌ای بین محصولات جدید دو غول گرافیکی از نظر FP32 و FP64 داشته باشیم:

مقایسه FP32 و FP64 کارت گرافیک‌های AMD و انویدیا
کارت گرافیک

FP32

گیگافلاپس

FP64

گیگافلاپس

نسبت

FP64 به FP32

Radeon R9 295X2 ۱۱۲۶۴ ۱۴۰۸ FP64 = 1/8 FP32
Radeon HD 7990 ۷۷۸۲ ۱۹۴۶ FP64 = 1/4 FP32
GeForce GTX Titan Black ۵۶۴۵ ۱۸۸۱ FP64 = 1/3 FP32
GeForce GTX 690 ۵۶۲۲ ۲۳۴ FP64 = 1/24 FP32
Radeon R9 290X ۵۶۳۲ ۷۰۴ FP64 = 1/8 FP32
GeForce GTX 780 Ti ۵۳۴۵ ۲۲۳ FP64 = 1/24 FP32
Radeon HD 6990 ۵۰۹۹ ۱۲۷۶ FP64 = 1/4 FP32
GeForce GTX 980 ۴۹۸۱ ۱۵۶ FP64 = 1/32 FP32
Radeon R9 290 ۴۸۴۹ ۶۰۶ FP64 = 1/8 FP32
GeForce GTX Titan ۴۷۰۹ ۱۵۲۳ FP64 = 1/3 FP32
Radeon HD 7970 GHz ۴۳۰۱ ۱۰۷۵ FP64 = 1/4 FP32
GeForce GTX 970 ۳۹۲۰ ۱۲۲ FP64 = 1/32 FP32
GeForce GTX 780 ۴۱۵۶ ۱۷۳ FP64 = 1/24 FP32
Radeon R9 280X ۴۰۹۶ ۱۰۲۴ FP64 = 1/4 FP32
Radeon R9 280 ۳۳۴۴ ۸۳۶ FP64 = 1/4 FP32
Radeon HD 7950 Boost ۳۳۱۵ ۸۲۸ FP64 = 1/4 FP32
GeForce GTX 770 ۳۲۱۰ ۱۳۴ FP64 = 1/24 FP32
GeForce GTX 680 ۳۰۹۰ ۱۲۹ FP64 = 1/24 FP32
Radeon HD 7950 ۲۸۶۷ ۷۱۷ FP64 = 1/4 FP32
Radeon HD 5870 ۲۷۲۰ ۵۴۴ FP64 = 1/5 FP32
Radeon HD 6970 ۲۷۰۳ ۶۷۵ FP64 = 1/4 FP32
Radeon R9 270X ۲۶۸۸ ۱۶۸ FP64 = 1/16 FP32
Radeon HD 7870 ۲۵۶۰ ۱۶۰ FP64 = 1/16 FP32
GeForce GTX 590 ۲۴۸۸ ۳۱۱ FP64 = 1/8 FP32
GeForce GTX 670 ۲۴۶۰ ۱۰۲ FP64 = 1/24 FP32
GeForce GTX 660 Ti ۲۴۶۰ ۱۰۲ FP64 = 1/24 FP32
Radeon R9 270 ۲۳۶۸ ۱۴۸ FP64 = 1/16 FP32
GeForce GTX 760 ۲۲۵۸ ۹۴ FP64 = 1/24 FP32
Radeon HD 6950 ۲۲۵۳ ۵۶۳ FP64 = 1/4 FP32
Radeon HD 5850 ۲۰۸۸ ۴۱۷ FP64 = 1/5 FP32
Radeon R7 260X ۱۹۷۱ ۱۲۳ FP64 = 1/16 FP32
Radeon R7 265 ۱۸۹۴ ۱۱۸ FP64 = 1/16 FP32
GeForce GTX 660 ۱۸۸۲ ۷۸ FP64 = 1/24 FP32
Radeon HD 7790 ۱۷۹۲ ۱۲۸ FP64 = 1/14 FP32
Radeon HD 7850 ۱۷۶۱ ۱۱۰ FP64 = 1/16 FP32
GeForce GTX 580 ۱۵۸۱ ۱۹۷ FP64 = 1/8 FP32
Radeon R7 260 ۱۵۳۶ ۹۶ FP64 = 1/16 FP32
GeForce GTX 650 Ti Boost ۱۵۰۵ ۶۲ FP64 = 1/24 FP32
GeForce GTX 650 Ti ۱۴۲۵ ۶۰ FP64 = 1/24 FP32
GeForce GTX 570 ۱۴۰۵ ۱۷۵ FP64 = 1/8 FP32
GeForce GTX 750 Ti ۱۳۸۸ ۴۳ FP64 = 1/32 FP32
Radeon HD 7770 GHz ۱۲۸۰ ۸۰ FP64 = 1/16 FP32
Radeon R7 250X ۱۲۸۰ ۸۰ FP64 = 1/16 FP32
GeForce GTX 750 ۱۱۱۰ ۳۴ FP64 = 1/32 FP32
GeForce GTX 650 ۸۱۲ ۳۳ FP64 = 1/24 FP32
Radeon R7 250 ۸۰۶ ۵۰ FP64 = 1/16 FP32
Radeon R7 240 ۵۰۰ ۳۱ FP64 = 1/16 FP32

گیگافلاپس برابر اما عملکرد متفاوت در بازی‌ها!

عبارت فوق در چند سال اخیر نقل محافل مقایسه AMD و انویدیا بوده است. در کارت گرافیک‌های ای‌ام‌دی معمولاً قدرت پردازشی FP32 بالاتر است ولیکن چیزی که در بازی‌ها و بنچ‌مارک‌ها تجربه می‌کنیم، مشابه محصولات انویدیا با قدرت پردازشی کمی پایین‌تر است. سوال این است:

چرا برابر بودن گیگافلاپس به معنی اجرای بازی‌ها با سرعت برابر نیست؟

دو کارت گرافیک با گرافیک مشابه از نظر گیگافلاپس، معماری یکسانی ندارند. ممکن است یک فرآیند پردازشی متشکل از دستورهایی باشد که در کامپیوتر اول طی ۱۰۰۰ عمل اعشاری تکمیل شوند و در کامپیوتر دوم، طی ۱۲۰۰ عمل اعشاری. در حقیقت معماری هسته‌های پردازش گرافیک در کامپیوتر اول به گونه‌ای است که در آن واحد، بخش‌های بیشتری فعال هستند و اعمال کوچک با موازی‌سازی بهتری صورت می‌گیرد.

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

با توجه به مباحث فوق، در اینتوتک معمولاً به جای قدرت پردازشی از قدرت پردازشی خام با واحد گیگافلاپس استفاده می‌شود، بهینه بودن معماری قدرت خام را به خروجی خوب در بنچ‌مارک‌ها و بازی‌ها تبدیل خواهد کرد.

در نهایت اگر بخواهیم کارت گرافیک‌ها را مقایسه کنیم، علاوه بر گیگافلاپس باید نوسان سرعت کلاک را هم لحاظ کنیم. کارت گرافیک‌ها و پردازنده‌های گرافیکی که توان طراحی حرارتی یا به اختصار TDP بالاتری دارند، در بیشتر مواقع و حتی در حالتی که تراشه کاملاً داغ شده، تلاش می‌کنند سرعت را در حد سرعت بوست حداکثری حفظ کنند. اما در مدل‌های کم‌مصرف و کوچک‌تر، سرعت به راحتی افت می‌کند.

به عنوان مثال می‌توانید R9 Nano و R9 Fury X را مقایسه کنید، سرعت کلاک حداکثری یکسان است اما توان مصرفی ۱۰۰ وات متفاوت است و طبعاً سرعت کلاک متوسط در کارت گرافیک R9 Nano به جای ۱ گیگاهرتز، در حد ۰٫۸ یا ۰٫۷۵ گیگاهرتز است. قبلاً در این رابطه مقاله‌ای تهیه شد و بررسی عمیق R9 Nano نیز منتشر شده است:

کارت گرافیک کوچک و کم‌مصرف R9 Nano

کارت گرافیک R9 Nano معرفی شد، تخمین عملکرد و مقایسه با رقبا

کارت گرافیک کم‌مصرف و کوچک R9 Nano توسط AMD معرفی شد. محصولی که مثل R9 Fury X از تراشه‌ی جالب Fiji بهره می‌برد و مجهز به حافظه‌ی HBM است ولیکن از نظر مصرف انرژی بسیار بهینه شده است.

کارت گرافیک کوچک و کم‌مصرف R9 Nano

عملکرد کارت گرافیک R9 Nano و مقایسه با GTX 980 ، معماری GCN واقعاً بهینه نیست!

امروز بالاخره کارت گرافیک R9 Nano توسط شرکای ای‌ام‌دی رونمایی شده است و عملکرد R9 Nano با کارت گرافیک‌های دیگر مقایسه می‌شود. در ادامه نگاهی اجمالی به بنچ‌مارک‌های این کارت گرافیک کوچک و کم‌مصرف و در عین حال قدرتمند خواهیم داشت.

با گیگافلاپس و توان مصرفی مساوی، تفاوت عملکرد حداکثر ۲۰ درصد است

با توجه به دو مقوله‌ی اشاره شده، گیگافلاپس معیاری کلی برای مقایسه‌ی کارت گرافیک‌های متنوع و پردازنده‌های گرافیکی کم‌مصرف در گوشی‌ها و تبلت‌هاست. در واقع اگر دو کارت گرافیک یا پردازنده‌ی گرافیکی خاص، TDP برابر و گیگافلاپس یکسان داشته باشند، عملکردشان در بنچ‌مارک‌های مختلف، نهایتاً ۲۰ یا ۲۵ درصد متفاوت خواهد بود. به عنوان مثال گرافیک مجتمع اینتل در اسکای‌لیک، تقریباً با مکسول ۲ انویدیا (سری ۹۰۰ لپ‌تاپی) برابری می‌کند و هر دو ۱۵ یا ۲۰ درصد بهتر از Radeon R300M ای‌ام‌دی برای لپ‌تاپ‌ها هستند.

برای مقایسه‌ی مدل‌های مختلف پردازنده‌های گرافیکی به صفحه‌ی کارت گرافیک‌ها در اینتوتک مراجعه فرمایید.

پردازنده‌ی اصلی اینتل و AMD و مقوله‌ی معماری مجموعه دستورات SSE و AVX و FMA

کارت گرافیک ۱۰ برابر قوی‌تر است اما برای محاسبات موازی بهینه است

در پردازنده‌ی اصلی، اعمال پردازشی که ماهیت موازی ندارند، بیشتر است. به این ترتیب سرعت کلاک پردازنده معمولاً ۳ تا ۵ گیگاهرتز (پردازنده‌ی گرافیکی ۰٫۶ تا ۱٫۱ گیگاهرتز) است تا اعمال پشت سر هم را در کمترین زمان ممکن به پایان برساند. هسته‌های پردازشی نیز مثل کارت گرافیک‌های رده‌اول، در حد چند هزار عدد نیست بلکه فقط ۲ الی ۸ هسته وجود دارد. در واقع کارت گرافیک برای محاسبات خاصی که ذاتاً می‌توانند موازی پردازش شوند، بهینه است و پردازنده که شاید یک دهم کارت گرافیک قدرت پردازشی داشته باشد، برای تردهای پردازشی کم‌تعداد بهینه است و به سرعت امور محوله را تکمیل می‌کند.

پردازنده تردهای کم را با سرعت بسیار بالا پردازش می‌کند، کارت گرافیک هزاران ترد را به کندی اجرا می‌کند

پردازنده تردهای کم را با سرعت بسیار بالا پردازش می‌کند، کارت گرافیک هزاران ترد را به کندی اجرا می‌کند

SIMD در عمل همان دستورات برداری است

قدرت خام پردازشی در پردازنده‌ها، به نوع مجموعه دستوراتی که کدها برای آن بهینه شده‌اند، وابسته است. در حقیقت محاسبات اعشاری به صورت SIMD (مخفف Single Instruction Multiple Data) در پردازنده اجرا می‌شوند، یک دستور برای انجام چند محاسبه‌ی موازی با چند داده‌ی اولیه. به SIMD دستورات برداری هم می‌گویند، مثلاً بردار X با Y جمع شده و در بردار Z ذخیره می‌شود. هر یک از بردارها ۴ عضوی است و در واقع باید عمل جمع ۸ داده در آن واحد صورت بگیرد:

جمع دو برابر به کمک SIMD

جمع دو برابر به کمک SIMD

برای اجرای SIMD از اکستنشن‌های جریانی SIMD یا به اختصار SSE که در حقیقت افزونه‌ای برای معماری x86 اینتل (و AMD) است، استفاده می‌شود.

در پردازنده‌هایی که از SSE پشتیبانی می‌کنند، یک هسته در یک سیکل کلاک، ۴ عمل ۳۲ بیتی اعشاری را انجام می‌دهد. بنابراین اگر سرعت هسته ۴ گیگاهرتز باشد، قدرت خام هر هسته ۱۶ گیگافلاپس است و پردازنده مجموعاً قدرت پردازشی خام ۶۴ گیگافلاپس دارد. عدد بسیار کوچکی است چرا که کارت گرافیک‌های رده‌اول امروزی، ۵۰۰۰ گیگافلاپس معادل ۵ ترافلاپس قدرت دارند.

در SSE فقط ۸ رجستر ۱۲۸ بیتی برای ۴ محاسبه‌ی ۳۲ بیتی اضافه شده بود و با معرفی SSE2 امکان انجام ۲ محاسبه‌ی ۶۴ بیتی و همین‌طور ۸ محاسبه‌ی عدد صحیح ۱۶ بیتی فراهم شد.

AVX کاملاً با SSE سازگار است

اگر از مجموعه دستورات AVX به معنی اکستنشن‌های پیشرفته‌ی برداری استفاده شود، قدرت پردازشی باز هم بیشتر می‌شود. AVX در سال ۲۰۰۸ به پردازنده‌های سندی بریج اینتل و در سال ۲۰۱۱ به پردازنده‌های بولدوزر (سری FX ای‌ام‌دی) اضافه شد. تفاوت AVX با SSE در این است که رجیسترهای اضافی، ۲۵۶ بیتی هستند. می‌توان SIMDهای ۱۲۸ بیتی سابق را بدون هیچ مشکل خاصی توسط AVX اجرا کرد.

اجرای SIMDهای 128 بیت توسط AVX با رجیسترهای 256 بیتی

اجرای SIMDهای ۱۲۸ بیت توسط AVX با رجیسترهای ۲۵۶ بیتی

در حالت بهینه، AVX می‌تواند ۸ عمل ۳۲ بیتی را تنها در یک سیکل کلاک اجرا کند و حالت زیر اتفاق می‌افتد:

با AVX، سرعت محاسبات FP32 می‌تواند دو برابر شود.

با AVX، سرعت محاسبات FP32 می‌تواند دو برابر شود.

لذا با مجموعه دستورات AVX، رجیستر ۱۲۸ به رجیستر ۲۵۶ بیتی تبدیل می‌شود و قدرت محاسبات خام، دو برابر می‌شود.

و تفاوت دیگر: در AVX، دستورات SIMDها سه عملوند (operand) دارند. در SSE عبارت a=a+b محاسبه می‌شود و حاصل‌جمع جای a را می‌گیرد اما در AVX عبارت a=b+c که دارای سه عملوند است هم قابل محاسبه است و حاصل‌جمع مستقل از a و b است.

در AVX2 امکان استفاده از رجیسترهایی با کاربری کلی نیز فراهم شد. رجیستر ۱۲۸ بیتی محاسبات صحیح، به رجیستر ۲۵۶ بیتی تبدیل شده و به علاوه FMA3 (مخفف Fused Multiply–Add یا ضرب و جمع ترکیبی) سه عملوندی پشتیبانی شد. تفاوت دیگر امکان بارگذاری داده از موقعیت‌های ناپیوسته در حافظه است.

AVX2 در پردازنده‌های هسول

AVX2 در پردازنده‌های هسول

AVX-512 یا AVX512 در سال ۲۰۱۳ به پردازنده‌های اینتل اضافه شده است. AVX-512 شامل اکتنشن‌های متنوعی است اما پشتیبانی از AVX-512 به این معنی است که قطعاً اکستنشن AVX-512 F پشتیبانی می‌شود. AVX-512 F از رجیسترهای ۵۱۲ بیتی برای پردازش بهینه‌تر بهره می‌گیرد.

اما ببینیم بهینه کردن فرآیند پردازشی برای استفاده بردن از SSE و AVX و FMA به چه معنی است و قدرت خام پردازشی، می‌تواند چند برابر شود. به جدول زیر که مقایسه‌ی APUهای کاوری و ترینیتی با پردازنده‌های هسول و آیوی بریج اینتل است، دقت کنید:

قدرت پردازشی FP32 و FP64 پردازنده‌های اینتل و ای‌ام‌دی
پلتفرم کاوری ترینیتی Llano هسول آیوی بریج
Chip ۷۸۵۰K ۵۸۰۰K ۳۸۷۰K ۴۷۷۰K ۳۷۷۰K

سرعت پردازنده

(گیگاهرتز)

۳٫۷ ۳٫۸ ۳ ۳٫۵ ۳٫۵

SSE FP32 در یک سیکل کلاک

۱۶ ۱۶ ۳۲ ۳۲ ۳۲
SSE FP64 در یک سیکل کلاک ۸ ۸ ۱۶ ۱۶ ۱۶
AVX FP32 در یک سیکل کلاک ۱۶ ۱۶ ۶۴ ۶۴
AVX FP64 در یک سیکل کلاک ۸ ۸ ۳۲ ۳۲
AVX FMA FP32 در یک سیکل کلاک ۳۲ ۳۲ ۱۲۸
AVX FMA FP64 در یک سیکل کلاک ۱۶ ۱۶ ۶۴
توان پردازشی به صورت SSE FP32 ۵۹٫۲ ۶۰٫۸ ۹۶ ۱۱۲ ۱۱۲
توان پردازشی به صورت SSE FP64 ۲۹٫۶ ۳۰٫۴ ۴۸ ۵۶ ۵۶
توان پردازشی به صورت AVX FP32 ۵۹٫۲ ۶۰٫۸ ۲۲۴ ۲۲۴
توان پردازشی به صورت AVX FP64 ۲۹٫۶ ۳۰٫۴ ۱۱۲ ۱۱۲
توان پردازشی به صورت AVX FMA FP32 ۱۱۸٫۴ ۱۲۱٫۶ ۴۴۸
توان پردازشی به صورت AVX FMA FP64 ۵۹٫۲ ۶۰٫۸ ۲۲۴

در برخی معماری‌ها، AVX قدرت پردازش اعشاری ۳۲ بیتی را دو برابر کرده که با توجه به افزایش اندازه‌ی رجیسترها، منطقی و بدیهی است. استفاده از FMA به این معنی است که یک عمل اعشاری جمع و با یک عمل اعشاری ضرب ترکیب شده و هم‌زمان اجرا می‌شود. بنابراین قدرت پردازشی دو برابر خواهد شد.

در نهایت قدرت پردازشی پردازنده‌ی رده‌اول Core i7-4770K بدون بهینه‌سازی‌ها، ۶۴ گیگافلاپس و با تمام بهینه‌سازی‌ها که البته غیرممکن است، ۴۴۸ گیگافلاپس است. ۱۰ برابر کمتر از بهترین کارت گرافیک در دوران درخشش این مدل خاص.

برای مقایسه‌ی مدل‌های مختلف پردازنده‌های گرافیکی به صفحه‌ی کارت گرافیک‌ها در اینتوتک مراجعه فرمایید.
بازگشت به دانش‌نامه
0 votes, average: 0٫00 out of 50 votes, average: 0٫00 out of 50 votes, average: 0٫00 out of 50 votes, average: 0٫00 out of 50 votes, average: 0٫00 out of 5 (0 نظر، امتیاز: 0٫00 از 5)
برای نظر دادن ابتدا باید ثبت نام کنید.
Loading...
لينک کوتاه:

FacebookTwitterGoogle


دیدگاه بگذارید

اطلاع از
wpDiscuz

تبلیغات

تبلیغات

تبلیغات

×