Какво е хардуерно ускорение и как е полезно?

Хардуерното(Hardware) ускорение използва специално изграден компютърен хардуер (т.е. силициеви микрочипове) за извършване на тесен набор от задачи по-бързо от CPU с общо предназначение ((CPU) централен процесор).

Какво означава това за вас като потребител? Често ще имате възможност да включите или изключите хардуерното ускорение във вашите приложения. И така, колко полезно е хардуерното ускорение и какво прави?

Какво е хардуерно ускорение(Hardware Acceleration) ( просто издание(Simple Edition) )

Ето едно просто обяснение на хардуерното ускорение. Преминете(Skip) към следващия раздел за задълбочен поглед върху процеса. 

Процесорът на(CPU) вашия компютър може да реши почти всякакъв вид математически проблеми. Веригите на процесора(CPU) използват повече компоненти, за да се справят с много видове задачи. Те заемат повече място, генерират повече топлина и не са толкова елегантно проектирани като верига, създадена за една работа. 

С хардуерно ускорение специална интегрална схема или микропроцесор изпълнява една конкретна задача или тесен набор от свързани задачи. Дизайнът на веригата не се губи за нищо друго и това осигурява значително предимство в производителността. 

Понякога този хардуер е вграден в самия процесор(CPU) . Повечето съвременни процесори(CPUs) имат специални вътрешни секции, които ускоряват специфични видове математика, използвани за задачи като видео кодиране(video encoding) и криптиране(encryption) .

Накратко, хардуерното ускорение означава да се даде специфична работа на уникална част от хардуера, която е добър играч и се справя.

Какви са предимствата(Benefits) на хардуерното ускорение(Hardware Acceleration) ?

Как хардуерното ускорение е от полза за приложението, което използвате? Често зависи от вида на хардуера и вида на ускорението, но обичайните предимства важат за повечето ситуации.

  • Хардуерното(Hardware) ускорение значително подобрява производителността. Вашето приложение ще работи по-гладко или приложението ще изпълни задача за много по-кратко време.
  • Това освобождава вашия процесор(CPU) да прави други неща, водещи до подобрена производителност на системата. Процесорът може да разтовари работата на(CPU) специализирания хардуер и след това да продължи, например, да изпълнява видео игри едновременно с поточно видео или да използва приложение като Discord .
  • Хардуерното(Hardware) ускорение може да бъде от решаващо значение за устройства, захранвани от батерии. Ето защо вашият смартфон или таблет може да възпроизвежда видео за толкова дълго време, без да изтощава батерията ви. Малък специализиран чип почти винаги използва по-малко енергия от голям, сложен процесор(CPU) .

Има ли(Are) недостатъци на(Downsides) хардуерното ускорение(Hardware Acceleration) ?

Като цяло хардуерното ускорение е нещо, което ще искате да оставите, но има някои случаи, в които може да бъде недостатък. 

  • Хардуерното(Hardware) ускорение често причинява нестабилност. Въпреки че са бавни, процесорите(CPUs) са склонни да бъдат много надеждни. Например, няма смисъл хардуерното ускорение да ускорява експортирането на видео и след това процесът да се срива, преди да приключи.
  • Хардуерното(Hardware) ускорение е негъвкаво към новите разработки. Например, може да имате хардуерно ускорение в компютъра си за конкретен метод за кодиране на видео, но ако се появи нещо по-добро, ще трябва да закупите нов хардуер, за да го поддържате. 
  • Типът хардуерно ускорение, което вашата система поддържа, може да не предложи най-добрите резултати. Така че, ако предпочитате качеството пред скоростта, би било по-добре да оставите процесора(CPU) да се справи с работата в някои случаи. Например, ако нямате хардуерна поддръжка за HEVC кодиране, но искате неговите качествени предимства пред H.264 CODEC , ще трябва да разчитате на кодиране, базирано на процесора(CPU) .

Къде мога да използвам хардуерно ускорение(Use Hardware Acceleration) ?

Има твърде много налични форми на хардуерно ускорение, за да ги изброим всички тук, но ето няколко често срещани, които ще срещнете като среден компютърен потребител.

Хардуерно ускорение на браузъра(Browser Hardware Acceleration)

Уеб(Web) браузърите могат да бъдат изненадващо приложения , натоварващи процесора(CPU-heavy) . Съвременните(Modern) уебсайтове имат фантастични графични ефекти и висококачествени гледки и звуци. Уеб(Web) приложенията, които използват 3D графика, се възползват от хардуерното ускорение  на графичния процесор .(GPU)

Хардуерното(Hardware) ускорение обикновено е включено по подразбиране в тези приложения и трябва да го деактивирате само за отстраняване(troubleshooting) на неизправности .

Ускоряване на кодиране на видео(Video Encoding Acceleration)

  • Повечето процесори вече имат ускорение за общия видео стандарт H.264 , а поддръжката за H.265 също нараства. 
  • Последните графични процесори на Nvidia(Nvidia GPUs) също имат специален чип за енкодер „NVENC“, който поема работата по записа или стрийминг на игрови кадри, така че да не влияе на производителността на играта.
  • Приложения като Adobe Premiere Pro предлагат хардуерно ускорение, базирано на GPU, като по този начин подобряват производителността при редактиране и експортиране на проекти.

GPGPU (GPU с общо предназначение) Ускорение(GPGPU (General Purpose GPU) Acceleration)

Графичните процесори започнаха живота си като 3D графични ускорители, но съвременните графични процесори(GPUs) могат да извършват доста широк спектър от прости операции много бързо. Тези процесори се състоят от стотици или хиляди прости малки процесори, които всички работят паралелно. 

Това ги прави идеални за определени видове пресоване на данни, които трябва да се изпълняват чрез алгоритъм. Графичните процесори(GPUs) са проектирани по този начин, тъй като изобразяването на графики включва паралелна обработка на стойностите на пикселите. Така вашият графичен процесор(GPU) определя как трябва да изглежда всеки един от милионите пиксели на екрана едновременно. Оказва се, че приложенията за дълбоко обучение и извличане на данни също се възползват от този подход към изчисленията.

Проследяване на лъчи и ускорение на машинното обучение(Ray Tracing and Machine Learning Acceleration)

Разработчиците на GPU(GPU) вече са добавили специални копроцесори, които вършат дори по-специализирана работа от ядрата  на GPU .

  • Последното поколение графични процесори на Nvidia(Nvidia GPUs) имат специални компоненти, които ускоряват математиката на проследяването на лъчи(ray tracing) , което е метод за рисуване на 3D графики чрез симулиране на разпространение на светлината през сцена.
  • Тези графични процесори(GPUs) имат допълнителен процесор, който е много добър в извършването на така наречената „тензорна“ математика. Те са полезни в приложения, които използват машинно обучение на невронни мрежи, което става все по-често срещано в ежедневните компютърни задачи.

Ускорението е навсякъде

В наши дни има хардуерно ускорение в почти всяко изчислително устройство и тъй като определени компютърни задачи стават популярни, компютърните учени ще създадат още по-специализирани системи, за да ги накарат да работят по-бързо и по-ефективно. 

Така че седнете и се насладете на скоростта!



About the author

Аз съм компютърен програмист, специализиран в разработването на софтуер за MacOS. Използвам уменията си, за да пиша професионални рецензии и да давам съвети как да подобрите уменията си за програмиране на Mac. Имам и уебсайт, който предлага подробни инструкции стъпка по стъпка за създаване на успешен уеб сайт.



Related posts