ترافلاپس چیست و چه ارتباطی با بازی های ویدیویی دارد؟
معمولا برای معرفی و مقایسهی توان سیستمهای کامپیوتری از مبناهای مختلفی استفاده میشود که برخی از آنها مثلِ سرعت ساعتِ کاری (فرکانس بر حسب مگاهرتز یا گیگاهرتز)، تعداد واحدهای مستقل پردازشی یا همان هستههای پردازشی و توان کلی بر حسب ترافلاپس بیشتر از سایر مدنظر هستند و در کانون توجه قرار میگیرند. اما یکی از معیارهایی که در سالهای گذشته بیشتر در مورد کنسولهای بازی و کارتهای گرافیکی بکار گرفته شده و به آن استناد شده است، واحد ترافلاپس است. ترافلاپس چیست و چه مفهومی دارد؟
ترافلاپس چیست
در سطح پایه، یک FLOP (مخفف floating-point operation) یک عملیات اعشاری و واحد بنیادی توان محاسباتی است. هر محاسبهی جبری با اعداد اعشاری پیچیدهتر از همان محاسبه با اعداد صحیح است و بنابراین پردازش آن هم توان بیشتری میطلبد. سیستمهای کامپیوتری امروزه همگی به واحدهای سختافزاری (در پردازندههای مرکزی ALU یا واحد محاسبه و منطق گفته میشوند) برای محاسبات ریاضی اعشاری مجهز هستند و هر چقدر قویتر باشند، توان اجرا و سرعت محاسبات ریاضی نیز در آنها بیشتر است. ازاینرو مبنای FLOPS شکل میگیرد که همین تعریف شرح داده شده از فلاپ را در واحد زمان اندازه گیری میکند و مخففی از floating-point operations per second است.
امروزه ترافلاپس در واحدهای پردازش گرافیک (GPU) بهعنوان معیاری برای مقایسهی ابتدایی از قدرت پردازشِ خام آنها استفاده میشود. ترافلاپس برای بیانِ قدرتِ تراشههای طراحی شده برای کنسولهای بازی نیز استفادهی مشابهی دارد. مثلا وقتی که این معیار به فناوری گرافیکی AMD در قلب کنسولِ مایکروسافت و سونی اِعمال میشود، محاسبه بسیار ساده به نظر میرسد. میتوانید تعداد هستههای سایهزن (Shader) یا پردازندههای مستقلِ گرافیکی را در فرکانس کاری یا کلاکِ GPU ضرب کنید.
در SoC-های AMD و گرافیک مجتمع مبتنی بر معماری RDNA 2 که در آنها تعبیه شده، در هر CU (مخفف Compute Unit) تعداد ۶۴ واحد سایهزن تعبیه شده است و با این حساب، بهعنوان نمونه کنسول مایکروسافت ایکس باکس سری ایکس که ۵۲ واحد CU دارد تعداد کلِ ۳۳۲۸ هستهی سایهزن و کنسول سونی که ۳۶ واحد CU دارد باید ۲۳۰۴ سایهزن را داشته باشد. فرکانس کاری این دو کنسول در بخش GPU نیز به ترتیب ۱۸۲۵ و ۲۲۳۰ مگاهرتز هستند.
ترافلاپس PS5 و ایکس باکس
در اینجا محاسبهی مربوطبه ایکس باکس سری ایکس و PlayStation 5 را براساس فرمول بالا میبینید:
Xbox Series X:3328 shaders * 1825MHz * 2 instructions per clock = 12,147,200 megaflops or 12.1TFLOPS
PlayStation 5:2304 shaders * 2230MHz * 2 instructions per clock = 10,275,840 megaflops or 10.2TFLOPS
همانطور که میبینید محاسبهی سادهای است، اما باید در آخر نتیجه را در ۲ ضرب کنیم، به این دلیل که در هر کلاک (تناوبِ فرکانسی) دو دستور متفاوت (یکی ضرب و یکی عملیات جمع) بهصورت همزمان اجرا میشوند. نتایجِ حاصل معمولا اعداد بسیار بزرگی هستند و همانند محاسبات مربوطبه ظرفیت فضای ذخیرهسازی روی هارد دیسکها باید به شکل قابل درکی تبدیل شوند. بنابراین مقدار نهایی را به عدد یک میلیون تقسیم میکنیم تا بر حسب ترافلاپس بهدست آید.
توان محاسباتیِ ۱۲ ترافلاپس به این معنی است که در تئوری کنسول ایکس باکس سری ایکس میتواند در هر ثانیه ۱۲ میلیارد محاسبهی اعشاری انجام دهد که آن را ۱۸ درصد بالاتر از پلی استیشن ۵ قرار میدهد. اما تنها براساس این مقایسه نمیتوان گفت که کنسول مایکروسافت در بازیها هم ۱۸ درصد برتر عمل میکند. معیارهای بسیار مهم دیگری هم در راندمان خروجی و تجربهی گیمینگ کنسولها نقش دارند که گاهی اوقات تفاوت بین دو سختافزار با قدرتهای متفاوت را کمرنگ میکنند یا کاملا از میان میبرند. برای مقایسه، کارت گرافیک GeForce RTX 3090 ساخت انویدیا بهتنهایی ۳۵.۵ ترافلاپس قدرت پردازشی را در قلب خود جای داده است و Radeon RX 6900 XT ساخت AMD هم توانِ ۲۳ ترافلاپسی در پردازش محاسباتِ اعشاری FP32 دارد، اما بنچمارکهای مختلف نشان دادهاند که توان پردازشیِ RX 6900 XT در برخی عناوین و مخصوصا در سایهزنهای سنتی و رزولوشنِ 1080p بالاتر از RTX 3090 است و در نتیجه راندمان بهتری در برخی بازیها تولید میکند.
ترافلاپس و راندمان سیستم
ترافلاپس مبنای ابتدایی اندازهگیری توان محاسباتی به شمار میرود و از سایر ابعاد طراحی GPU (واحد پردازش گرافیکی) مجزا و متمایز است. مثلا GCN (مخفف Graphic Core Next)، معماری مشهورِ AMD، همیشه در توانِ محاسباتی خام نسبت به همردههایش از انویدیا برتری داشت و همین مورد توضیح میدهد که چرا کارتهای گرافیک رادئون از AMD (مخصوصا RX 570/RX 580) در اوجِ دوران شیوع عملیات استخراج پول الکترونیکی (Bitcoin mining) در چند سال قبل اینقدر خوب عمل کردند و کارتهای سری RTX 3000/RTX 2000 انویدیا همزمان با اوجگیری اپیدمی کرونا اینقدر محبوب ماینرها بودند. بااینحال مهم است که تاکید کنیم این موضوع لزوما بهمعنی راندمانِ بهتر در بازیها نیست.
تفاوت در معماری
اما آنچه که بیش از ترافلاپس در راندمانِ نهایی تاثیرگذار خواهد بود، معماریِ پردازنده یا تراشهی گرافیکی است. حتی جنبههای دیگر سختافزار مانند پهنای باند حافظه و میزان حافظهی کش داخل تراشه در سطوح مختلف هم در سرعتِ پردازش نقش بسزایی ایفا میکنند. مثلا ارتقای CPU از هستههای جگوار در نسل هشتم به معماری ZEN 2 در کنسولهای نسل نهم از برترین مزیتهای در نظر گرفته شده برای این سیستمها است که آنها را قادر ساخته در بسیاری پردازشهای سنگین که قبل از این برای بازیها ایجاد گلوگاه کرده و باعث افت فریم شدید میشدند پرهیز شود و علاوهبر آن توسعهدهندگان قادر باشند محیطهای پیچیدهتر نیز خلق کنند.
در بخش گرافیکیِ کنسولهای نسل کنونی هم معماریِ قدیمی GCN به فراموشی سپرده و از RDNA 2 در قلبِ گرافیکی آنها بهرهگیری شده است. ارتقای معماری بهتنهایی در مقایسه با نسل قبلی مزیتِ قابل توجهی را در راندمانِ پردازشِ گرافیکی به همراه داشته و به بیان دیگر، تراشهای با ۲۰ واحد CU در معماری RDNA 2 میتواند تا ۷۰ درصد راندمان بهتری نسبت به تراشهای با ۲۰ واحد CU از معماری GCN ارائه کند که این پیشرفت میتواند بسیار فراتر از اختلافِ توان پردازشیِ این تراشهها بر مبنای ترافلاپس باشد.
به بیان سادهتر، دو برابر شدن ترافلاپس بهمعنی دو برابر شدن نرخ فریم تولیدی نیست. دلایل بالقوهی زیادی برای آن وجود دارند اما بهطور کلی، محدودیتهای پهنای باند حافظه یک عامل عمده در این جا است. برخی واحدهای پردازشی مثل واحدِ شتابدهندهی سختافزاری "رهگیری پرتو" یا همان ray tracing نیز اصولا در مقیاس اصلیِ محاسبهی توان بر حسب ترافلاپس گنجانده نمیشوند و بهصورت جداگانه ارزیابی میشوند. کنسولهای ایکس باکس سری ایکس و سری اس و همینطور پلی استیشن 5 همگی از قابلیت رهگیری پرتو یا به اختصار RT برخوردار هستند.
توان پردازنده هم میتواند راندمان بازی را محدود کند
برای تشریحِ تاثیرِ توان CPU در کاهش احتمالیِ راندمان در بازی که توان GPU را هم متاثر میکند به یک مثال میپردازیم. بازی Hitman اوریجینال نمونهی جالبی است از اینکه چگونه راندمان بازی همانند محدودیتی که به توان GPU دارد، میتواند به پردازنده هم داشته باشد. مرحلهی پاریس در این بازی از نظر تعداد کاراکترهای غیر قابل بازی (NPC) غنی است، کاراکترهایی که به جز پردازش انیمیشنهایشان، نیاز است رفتارشان هم شبیهسازی شود. این کار بیشتر برای اجرا روی CPU مناسب است و هر دو کنسول نسل قبلیِ پلی استیشن 4 و ایکس باکس وان هم از پردازندههای نسبتا ضعیف AMD با هستههای Jaguar استفاده میکنند، معماریی که در اصل برای تراشههای موبایل ساخته شده بود. برای جبران راندمان ضعیف، هر دو پلتفرم از تعداد هستههای دو برابر استفاده کردهاند که صادقانه باید گفت بیهوده بوده است.
تفاوتی که وجود دارد این است که کنسول مایکروسافت پردازنده را روی فرکانس ۱.۷۵ گیگاهرتز فعال کرده، درحالیکه سونی فرکانس ۱.۶ گیگاهرتز را انتخاب کرده است و این برتری ۹.۴ درصدی را نشان میدهد که درواقع در برخی صحنههای بازی هیتمن هم قابل تشخیص است، اما در مجموع هر دو کنسول به خاطر پردازندههای ضعیف نمیتوانند از تمام توانِ هستهی گرافیکیِ خود برای نمایشِ بینقصِ بازی بهره ببرند و قدرتِ CPU در این مثال گلوگاه است. مشکلِ مذکور در کنسولهای نسل کنونی و همان مرحله از بازی هیتمن کاملا برطرف شده و بدون لحاظ کردنِ افزایشِ توان گرافیکی و افزایشِ رزولوشن خروجی هم اثری از آن دیده نمیشود.
ارتباط ترافلاپس با گیمینگ
هیچ ارتباط مستقیم و خطی بین راندمان داخل بازی با توان محاسباتی که با ترافلاپس اندازهگیری میشود وجود ندارد و در عین اینکه میتوان ایدهای از راندمان متناظر در تراشهی گرافیکی داشت، این قضیه فقط در مقایسه میان سختافزارهای گرافیکی متفاوتی که معماری هستههای یکسان داشته باشند مصداق دارد. حتی در این صورت نیز وقتی که مثلا گفته میشود یک GPU حدود ۴۰ درصد بر دیگری برتری دارد بهمعنی آن نیست که به همین میزان اختلاف نرخ فریم تولید شده میان این دو وجود دارد. قابلیتهای یک تراشهی گرافیکی به عواملی بیش از توان محاسباتیِ صرف وابسته است و پهنای باند حافظه بهطور خاص یک عامل تعیین کننده است.
سوالات متداول
۱-ترافلاپس چیست؟
یک FLOP (مخفف floating-point operation) یک عملیات اعشاری (ممیز شناور) و واحد بنیادی توان محاسباتی است. سیستمهای کامپیوتری امروزه همگی به واحدهای شتابدهندهی سختافزاری برای محاسبات ریاضی اعشاری مجهز هستند و هر چقدر قویتر باشند، توان اجرا و سرعت محاسبات ریاضی نیز در آنها بیشتر است. ازاینرو مبنای FLOPS شکل میگیرد که همین تعریف شرح داده شده از فلاپ را در واحد زمان اندازهگیری میکند و مخففی از floating-point operations per second یا تعداد عملیات اعشاری در یک ثانیه است. بسیاری از عملیات کامپیوتری و دادههای مرتبط با آنها قبل از محاسبه به اعداد اعشاری تبدیل میشوند.
۲- دو تراشه با ترافلاپس یکسان اما معماری متفاوت راندمان برابر دارند؟
خیر. نسلهای جدیدتر با معماری بهینهتر و شتابدهندههای سختافزاریِ قویتر میتوانند عملیات ترسیم و پردازش خروجی را با سرعت بالاتری انجام دهند و مبنای ترافلاپس در اینجا کارایی ندارد. حتی دو پردازنده با قدرت ترافلاپس برابر هم لزوما راندمان یکسانی در سرعت خروجی یا نرخ فریمِ بازیها نخواهند داشت و معیارهای مهم دیگری از جمله پهنای باند حافظه و ظرفیت حافظههای کش در سطوح مختلف نیز در راندمان نهایی تأثیرگذار است. بنابراین نمیتوان سرعت پردازندهها با معماریِ متفاوت را لزوما با اتکا به توان ترافلاپسِ آنها مقایسه کرد.
۳-آیا پردازنده مرکزی یا CPU هم در راندمان بازی تاثیر دارد؟
بله. اگر قدرت CPU بکار رفته در کنسول یا پیسی کمتر از توانِ مورد نیاز برای استخراج تمام توانِ واحد گرافیکی باشد، برای پردازش عملیات هوش مصنوعی یا محاسبات دیگر که بر عهدهی پردازنده است ممکن است گلوگاه شده و از قدرت کامل واحد گرافیکی و توانِ آن استفاده نشود و در نتیجه نرخ فریم تولید شده تناسبی با توانِ آن بر حسبِ ترافلاپس نداشته و کمتر از ظرفیتِ آن باشد. در این حالت افت فریمهای ناگهانی و قابل تشخیص و حتی وقفه و لگ در بازی مشاهده خواهد شد.
نظرات