یکبار برای همیشه، ترافلاپس چیست؟

این روزها اگر مطالبی راجع به کنسولهای نسل جدید یا محصولات سری جدید انویدیا را دنبال کنید، کلمه ترافلاپس (Teraflop) زیاد به چشمتان خورده. احتمالا همه بدانیم که فاکتوری مربوط به گرافیک سخت افزار است. اما اینکه دقیقا چیست، چه کاربردی دارد و اهمیتش در چیست و اصلا چرا کمپانیها روی تعداد فلاپسشان انقدر تاکید دارند برایمان سوال باشد.
همه چیز از یک «FLOPS» شروع میشود که کوتاه شدهی عبارت Floating Point Operation per Second که به معنای «عملیات ممیز شناور بر ثانیه» است. «عملیات ممیز شناور بر ثانیه» عبارتی است که من برای تعریف فلاپ در مقاله قبلیام به کار بردم. تا اینکه یکی از کاربران پرسید اصلا «عملیات ممیز شناور بر ثانیه» خودش یعنی چه؟
عملیات ممیز شناور بر ثانیه یعنی چه؟
در رایانهها ممیز شناور یا ممیز دودویی، روشی که طبق استاندارد جهانی IEEE 754 برای نمایش اعداد حقیقی در بازه گسترده (مثبت یا منفی) استفاده میشود. در این روش اعداد عموما بهوسیله تعداد ثابتی رقم معنیدار به نمایش گذاشته شده و سپس با استفاده از توان مقیاس میگیرند. پایه این توانها نیز بسته به حافظه سخت افزار مضربی از ۲ خواهد بود.
اصطلاح ممیز شناور به این واقعیت اشاره دارد که ممیز (ممیز اعشاری یا ممیز دودویی که در رایانهها رایج است) میتواند «شناور» باشد، یعنی میتواند هرجایی بین ارقام یک عدد، قرار بگیرد. مکان ممیز به صورت جداگانه در نمایش درونی و به صورت تغییر توان پایه مشخص میشود. در واقع میتوان ممیز را درک رایانه از نماد علمی دانست.
برعکس چیزی ریاضیاتی که ما در دبیرستان با آن آشنا شدهایم، یعنی ممیزهای ثابت که در نمایش آن تا ۷ رقم دهدهی و دو رقم اعشاری داشته باشد، در ممیزهای شناور اعشار عدد میتواند تا بازه بزرگی جا به جا شود. در حقیقت برنامهنویسان برای کوچک کردن اعداد بزرگ به حالتی که بتوان به راحتی آنها را بیان و محاسبه کرد از ممیز شناور استفاده میکنند. البته ممیزهای شناور دامنه بیشتری را به بهای دقت کمتر پشتیبانی خواهند کرد.

وارد شدن بیشتر درباره چرایی محاسبات و ذخیره سازی شناور کامپیوتر نیازمند دانش متوسطی از ریاضیات و علم ذخیره سازی اعداد در کامپیوتر است پس از آن صرف نظر میکنم.
فلاپ غالبا به عنوان معیاری برای قدرت محاسباتی ماشین در ثانیه استفاده میشود. وقتی صحبت از پردازندهها گرافیکی و تعداد پلیگانها(چند ضلعیها) میشود، توانایی انجام عملیات شناور بیشتر در هر ثانیه به این معنی است که می توان چند ضلعی را سریعتر رندر کرد و سقف را برای چند ضلعی به صورت هم زمان افزایش میدهد.
سرعت عملیات ممیز شناور، که معمولاً با عنوان اندازهگیرهای کارایی فلاپس شناخته میشود، از ویژگیهای مهم ماشینها است. این کارایی در نرمافزارهایی که عملیات و محاسبات ریاضی سنگین و در مقیاس گسترده (اجرای بازیها با گرافیک بالا) انجام میدهند، بیشتر اهمیت پیدا میکند.
ترافلاپس چیست؟
پیشتر با فلاپ یا عملیات ممیز شناور بر ثانیه آشنا شدیم. حال چطور از فلاپ به ترافلاپ میرسیم؟ برای بیان هرچه سادهتر مقیاسهای بزرگ از ترافلاپ استفاده میکنیم. در واقع یک ترافلاپس معادل ۱۰ به توان ۱۲ فلاپس یا ۱ تریلیون فلاپ است. زمانی که میگوییم کنسول ایکس باکس سری ایکس پردازنده گرافیکی با ۱۲.۱۵۵ ترافلاپس دارد، یعنی این کنسول قادر به انجام ۱۲.۱۵۵ تریلیون محاسبه ریاضی ممیز شناور در هر ثانیه است.
اهمیت ترافلاپس برای گیمینگ در چیست؟
از این نظر که تعداد ترافلاپسها به توانایی و کیفیت عملیات ریاضی و محاسباتی در جهت شکل دادن چند پلیگانهای(چند ضلعی) تشکیل دهنده احجام گرافیکی است، بالا بود این عدد میتواند دید مناسبی درباره خروجی سخت افزار گرافیکی مربوطه به ما بدهد و میتوان از آن به عنوان معیاری برای مقایسه استفاده کرد.

در واقع در زمینه بازی، تمام عناصری که در یک بازی مشاهده می کنید به صورت چند ضلعی ارائه میشوند و از آنجا که این رندر این اشکال به شدت به عملیات نقطه شناور وابسته است، عدد ترافلاپس میتواند برای گیمینگ اهمیت داشته باشد.
در نهایت ترافلاپس یکی از سادهترین معیارهای سنجش قدرت واحد محاسباتی است که کاملا مستثنی از سایر جنبه های طراحی پردازنده گرافیکی فعالیت میکند. میزان ترافلاپس بالاتر به ما اجازه میدهد بازیها را بسیار سریعتر و بهینهتر از چیزی که در نسل حاضر شاهد بودهایم تجربه کنیم. ترافلاپس بالاتر همچنین به ما امکان اجرای بازیها با نرخ فریم بالاتر را میدهد.
چه رابطه ای بین ترافلاپس و گیگاهرتز وجود دارد؟
برخلاف تصور رابطهای به آن شکل بین ترافلاپس و گیگاهرتز وجود ندارد. اصطلاح گیگاهرتز همانطور که اغلب در متن سرعت کلاک ذکر می شود، به واحد تعداد چرخههای کاملی که CPU در هر ثانیه طی میکند اشاره دارد. دستگاههایی که از سرعت کلاک (Clock speed) بیشتری برخوردار هستند قاعدتا فلاپهای بالاتری را نیز ارائه میدهند اما این دو پارامتر به شکل مستقیم به هم مرتبط نیستند.
ایکس باکس یا پلی استیشن؟ کدام یک ترافلاپس بیشتری دارند؟
تا به اینجا و با توجه به اطلاعاتی که از دو کنسول منتشر شده است، کنسول ایکس باکس سری ایکس با ۱۲.۱۵۵ ترافلاپس از پلی استیشن ۵ با ۱۰.۲۸ فلاپس کمی جلوتر است. اما باید این نکته را مد نظر داشن که صرفا مقایسه ترافلاپسهای این دو کنسول برای بررسی عملکرد آنها کافی نیست.
باید همواره این نکته را در نظر داشت که مشخصات سختافزاری کلی دو کنسول با یکدیگر تفاوت دارند پس محاسبات، پیادهسازی قطعات سختافزاری و کنار هم قرار گرفتن این سخت افزارها میتواند تفاوت بسیاری روی راندمان و عملکرد نهایی آنها ایجاد میکند. پس نمیتوان با تکیه بر عواملی چون ترافلاپس نظر قطعی درباره عملکرد کلی کنسول داد.

ترافلاپس معیار مقایسه درستی است؟
به نوعی بله! تعداد ترافلاپس شاخص خوبی برای سنجیدن قدرت ارائه پردازندههای گرافیکی هستند اما همیشه بازتاب دهنده آنچه در هر شرایطی ارائه میدهند نخواهند بود. داشتن توانایی پردازش عملیات بیشتر با نقطه شناور، سقف فنی را برای کنسول هایی مانند ایکس باکس سری ایکس از نظر گرافیکی، به ویژه در مباحثی چون رهگیری پرتو (Real-Time Ray Tracing) افزایش میدهد.
با این حال همان طور که بالاتر گفتم، تعداد ترافلاپس تنها معیار مهم برای سنجیدن میزان عملکرد سخت افزار نیست. در واقع ارتباط معین و مستقیمی بین عملکرد و بازدهی بازی با قدرت واحد محاسباتی با معیار ترافلاپس وجود ندارد؛ اما اگر بخواهیم درگیر قیاس و اندازه شویم میبایست اختلاف ترافلاپس را روی یک معماری ثابت از پردازنده گرافیکی را نیز اندازه گیری کنیم. اما در نهایت اینکه توسعه دهندگان قادر به تبدیل تواناییهای سخت افزاری به نتایج واقعی هستند یا نه، خودش سوال دیگریست.
بیشتر بخوانید: