Разлика между GPU и FPGA

Бързият напредък в технологията VLSI през последните няколко десетилетия позволи производството на милиарди транзистори на един чип. Този технологичен напредък доведе до проектирането и развитието на много по-бърз и енергийно ефективен хардуер. Бързо нарастващите тактови честоти и по -високите честотни ленти на паметта доведоха до подобрена производителност. Подобрението в едноядрената производителност на процесорите с общо предназначение е намаляло поради намалената скорост на нарастване на работните честоти. Двете основни причини за това са нарастващата разлика между скоростта на процесора и паметта и ограниченията в захранването. За да разреши тези проблеми, микропроцесорната индустрия премина към многоядрени процесори. В допълнение към многоядрените процесори се появиха други жизнеспособни алтернативи, за да се преодолеят тези затруднения, включително специално проектирани интегрални схеми и препрограмируеми FPGA, както и графични процесори. И така, какво бихте предпочели за вашите изчислителни изисквания - графични процесори или FPGA?

Какво е GPU?

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

Преди появата на графичните процесори изчисленията с общо предназначение, каквито го познаваме, бяха възможни само с процесори, които бяха първите масови процесорни единици, произведени както за потребителска употреба, така и за усъвършенствани изчисления. Изчисленията с графични процесори се развиха драматично през последните няколко десетилетия, за да намерят широко приложение в изследванията около машинното обучение, AI и дълбокото обучение. GPU излезе на ниво с въвеждането на GPU API като Compute Unified Device Architecture (CUDA), което проправи пътя към развитието на библиотеки за дълбоки невронни мрежи.

Какво е FPGA?

Полевият програмируем портален масив (FPGA) е напълно различен звяр, който изведе изчислителната мощност на GPU на изцяло ново ниво, предлагайки превъзходна производителност в приложения на дълбоки невронни мрежи (DNN), като същевременно демонстрира подобрена консумация на енергия. Първоначално FPGA са били използвани за свързване на електронни компоненти заедно, като контролери на шини или процесори, но с течение на времето тяхното приложение се е променило драстично. FPGA са полупроводникови устройства, които могат да бъдат електронно програмирани да станат всякакъв вид цифрова схема или система. FPGA предлагат по -добра гъвкавост и възможности за бързо прототипиране в сравнение с персонализирания дизайн. Базираната в Сан Хосе, Калифорния, Altera Corporation е един от най -големите производители на FPGA и през 2015 г. компанията е придобита от Intel. Те са много различни от хардуера, базиран на инструкции, като графични процесори и най-хубавото е, че те могат да бъдат преконфигурирани, за да отговарят на изискванията на по-интензивни натоварвания с данни, като приложения за машинно обучение.

Разлика между GPU и FPGA

Технология

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

Латентност

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

Енергийна ефективност

- Енергийната ефективност е важен показател за ефективност от години и ПЛИС се отличават и в това, защото са известни със своята енергийна ефективност. Те могат да поддържат много високи скорости на пропускане на данни по отношение на паралелна обработка във вериги, внедрени в преконфигурируемата структура. Най -хубавото при FPGA е, че те могат да бъдат преконфигурирани, което предлага гъвкавост, която им дава предимство пред техните аналози на GPU за определени области на приложение. Много от широко използваните операции с данни могат да бъдат ефективно приложени на FPGA чрез хардуерно програмиране. Графичните процесори също са енергийно ефективни, но само за SIMD потоци.

Операции с плаваща запетая

- Много изчислителни приложения с висока производителност, като дълбоко обучение, изискват силна зависимост от операциите с плаваща запетая. Въпреки че гъвкавата архитектура на FPGA демонстрира превъзходен потенциал в оскъдни мрежи, които са една от най -горещите теми в ML приложенията, те страдат от постигане на по -високи скорости за приложения, които използват широко аритметични операции с плаваща запетая. Операциите с плаваща запетая са нещо, в което графичните процесори са наистина добри. Най -бързият графичен процесор има производителност с плаваща запетая от максимум 15 TFLOPS.

GPU срещу FPGA: Сравнителна диаграма

Резюме

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

Вижте повече за: ,