menusearch
it-k.ir

شتاب سخت افزاری چیست و چگونه به بهبود کارایی سیستم کمک می‌کند؟

۱۳۹۸/۴/۲۴ دوشنبه
(5)
(0)
شتاب سخت افزاری چیست و چگونه به بهبود کارایی سیستم کمک می‌کند؟
شتاب سخت افزاری چیست و چگونه به بهبود کارایی سیستم کمک می‌کند؟

اگر اهل جستجو در منوهای تو در توی دستگاه های مختلف به ویژه کامپیوتر یا گوشی باشید، حتما به گزینه Hardware Acceleration یا شتاب سخت افزاری برخورد کرده اید. این قابلیت در برخی سیستم ها کارایی را بهبود می‌بخشد اما در تعدادی دیگر ممکن است به مشکلاتی غیرمنتظره منجر شود.

شتاب سخت افزاری (HA) فرایند اجرای روانتر برنامه ها و افزایش بازدهی سیستم از طریق محول کردن بخشی از بار پردازش به قطعاتی غیر از CPU است. این قابلیت مزایای بسیاری را به همراه دارد که از افزایش سرعت رندرهای ویدیویی و صوتی گرفته تا اجرای روانتر رابط کاربری را شامل می‌شود.

شتاب سخت افزاری عمر باتری سیستم را افزایش می‌دهد

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

اگر تا کنون برایتان این سوال پیش آمده که شتاب سخت افزاری چیست و چرا باید از آن استفاده کرد، ادامه مطلب را از دست ندهید.

شتاب سخت افزاری چیست؟

شتاب سخت افزاری یا Hardware Acceleration همانطور که از نام آن برمی آید از سخت افزارهای خاص برای افزایش سرعت یا بازدهی اپ ها نسبت به زمانی که صرفا در CPU پردازش می‌شوند، بهره می‌برد. اینکار معمولا با محول کردن بخشی از بار محاسبات به پردازشگر گرافیکی (GPU)، واحد پردازش عصبی، پردازنده سیگنال دیجیتال (DSP) یا دیگر بلاک های سخت افزاری با قابلیت ویژه انجام می‌شود.

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

شتاب سخت افزاری

پردازشگر گرافیکی یا GPU اصلی ترین نقش را در فرایند شتاب سخت افزاری بازی می‌کند. این قطعات با بهره گیری از هزاران هسته و ده ها واحد پردازشی (کارترادئون RX 5700 XT میزبان ۲۵۶۰ هسته پردازشی است) بهترین گزینه برای اجرای محاسبات موازی هستند.

یکی دیگر از قطعات ویژه شتاب سخت افزاری «واحد پردازش عصبی» یا NPU است. این ریزپردازنده ها در شتاب دهی به الگوریتم های یادگیری ماشین تخصص دارند که اغلب از طریق پردازش مدل های پیش بینی نظیر شبکه های عصبی مصنوعی (ANNs) یا جنگل‌های تصمیم تصادفی (یک روش یادگیری ترکیبی برای دسته‌بندی) صورت می‌گیرد.

کاربردهای شتاب سخت افزاری

یکی از پرکاربردترین موارد استفاده از شتاب سخت افزاری کدگذاری و رمزگشایی ویدیوها است. توسعه دهندگان به خوبی می‌دانند که رمزگشایی استریم ویدیویی در پردازنده چندان بازدهی مناسبی به همراه نخواهد داشت و به همین خاطر آن را به کارت گرافیک یا دیگر سخت افزاری بهره مند از بلاک های ویژه کدنگاری و رمزگشایی منتقل می‌کنند.

کاهش دمای پردازنده از مزایای HA است

به همین ترتیب CPU در تبدیل بسته های صوتی به سیگنال های دیجیتال غیر فشرده چندان کارامد نیست و بهتر است اینکار در پردازشگر سیگنال دیجیتال یا کارت صدا صورت بگیرد.

یکی دیگر از کاربردهای رایج شتاب سخت افزاری به افزایش سرعت گرافیک های ۲ بعدی مربوط می‌شود. برای مثال رابط های کاربری اغلب شامل انبوهی از جلوه های گرافیکی، متن و انیمیشن هستند که همگی در صف رندر قرار می‌گیرند.

شتاب سخت افزاری

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

برای مثال کارت های گرافیک انویدیا از قبیل RTX 2060 و RTX 2080 به لطف قابلیت «سوپر سمپلینگ یادگیری عمیق» یا DLSS به عنوان نسخه مبتنی بر هوش مصنوعی آنتی الایزینگ، به راحتی واپیچیدگی‌ های مصنوعی را کاهش داده و بدون کاهش کارایی رزولوشن را بهبود می‌بخشند. طبیعتا موارد پیشرفته تری نظیر رهگیری پرتو که بازتاب واقع گرایانه نور را به صورت بلادرنگ میسر می‌سازد نیز در همین رده قرار می‌گیرند.

در سال های اخیر و با افزایش محبوبیت یادگیری ماشین GPU نقش منبعی مطمئن و کارامد را برای اجرای وظایف مربوط به آن (برای مثال آموزش مدل های یادگیری ماشین با مقادیر کلان داده، آزمایش و پیش بینی آنها) ایفا کرده است. در این فرایند با بهره بردن از پردازش چند رشته ای زمان اجرای محاسبات تا حد زیادی کاهش پیدا می‌کند.

شتاب سخت افزاری چه اهمیتی دارد؟

پردازنده شبیه فردی است که اجرای انواع و اقسام کارها را می‌پذیرد اما در بسیاری از آنها تخصصی ندارد و تنها با صرف انرژی و زمان زیاد از عهده کارها برمی آید. این قطعه به گونه ای طراحی شده که به هیچ پردازشی نه نگوید اما در بسیاری از موارد به ویژه فرایندهای نیازمند محاسبات ریاضیاتی مکرر نظیر رندر گرافیکی و رمزگشایی ویدیو بازدهی چندانی ندارد.

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

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

فراموش نکنیم که این کار منجر به برداشته شدن بار اضافه از روی پردازنده خواهد شد و این قطعه هم زمان می‌تواند به انجام وظایف دیگر بپردازد که در نهایت به عملکرد سریعتر برنامه های دیگر منجر می‌شود.

شتاب سخت افزاری

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

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

نظرات کاربران
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

بستن
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

0 نظر