- Samsung Galaxy A56 - megbízható középszerűség
- Nothing Phone (3a) és (3a) Pro - az ügyes meg sasszemű
- One mobilszolgáltatások
- Mi nincs, grafén akku van: itt a Xiaomi 11T és 11T Pro
- VoLTE/VoWiFi
- Mobil flották
- Xiaomi 15 - kicsi telefon nagy energiával
- Google Pixel 8a - kis telefon kis késéssel
- Samsung Galaxy S25 - végre van kicsi!
- Milyen okostelefont vegyek?
Új hozzászólás Aktív témák
-
-
buherton
őstag
Ez így, akkor sem kerek, ha csak egy utasítás gyorsítás miatt van ott. Szerintem nekik más az elképzelésük, amit remélhetőleg hamar megtudunk.
Mivel magában az FPGA-ban RAM-ok vannak, így elég jól. Magát a konfig fájlt pedig egy külső memória tartalmazza, ami táp ráadáskor tölti be az FPGA-ba.
-
LordX
veterán
Most ez egy példa volt, ahol persze pont jó a DSP, de mi van ha a, nincs kéznél, b, a kapukat, logikákat is kell használni a feladathoz? A lényeg az, hogy azt lehet használni, ami a problémának legjobban megfelel.
Értelemszerűen nem akarom újrakonfigurálni az FPGA-t a program közben, és cserélgetni 2-3-4 konfigurációt, hanem azt rábízni, ami legjobb eredményt ad, a maradékra ott van a CPU/GPU.. Tényleg, mennyire bírják ezek a cuccok az újrakonfigurálgatást?
-
buherton
őstag
Eddig, akkor félrebeszéltünk egymás mellett. Most már értem, hogy te mire gondolsz, de az nem igazán járható út. Ugyanis ha te speckós dolgot akarsz megcsinálni az FPGA-ban, és mondjuk több különböző ilyet tartalmaz a program akkor meg vagy lőve, mert az FPGA konfigurálás nagyon lassú. Főleg ha szintetizálni is kell előtte.
(#26) LordX Ez így már ki vagyon találva. Sőt már nagyon régóta alkalmazva is van. Sőt ehhez még FPGA sem kell. Úgy hívják, hogy DSP
. A PC-nek a lényege pedig pont az hogy általános felhasználású, míg a DSP speciális felhasználású (és utasításkészletű), és abban a speciális utasítások apró ASIC-ekben van megvalósítva.
-
LordX
veterán
Csak hogy egy nyelvet beszéljünk.
Ha valamiért a programomban kell egy olyan, hogy átrendezzük a biteket
ku..marha sokszor (mondjuk, a program egy H.264 enkóder), akkor vagy írok egy kisebb programot (pl.), vagy ha van egy FPGA-m, akkor felkonfigurálom úgy, hogy ha beletolom a bitet, azonnal kijön jó sorrendben. És ezzel egy FPGA lehetőségeinek kb. 0%-át használtam ki...A példában szereplő probléma SSSE3-al való megvalósítása 85 utasítás (lásd x264 forráskód kommentek nélkül - SSE2-vel kb. 1,5x ennyi), és pár utasítás ezek között sem 1 órajel, hanem 2-3, tehát kb. 100 órajel hosszú programról beszélünk. Legalább ennyiszeresére gyorsíthatna egy FPGA, ha ugyanolyan órajelen menne, és nem lenne IO követelmény, de talán nem 100x lassabb. (Meg talán a környezetet is be lehet rakni az FPGA-ba.)
-
buherton
őstag
Nem vagyok benne biztos, hogy az Altera nagyobb név lenne. Ahol eddig jártam mindenhol Xilinx-et használtak. Ettől függetlenül nem azt mondom hogy az Altera nem lenne jó!
(#15) LordX: Egy komolyabb algoritmusnál már azért szűkös lehet a kapu szám, ez a feladattól függ.
(#17) LordX Pedig a párhuzamos és/vagy független dolgokban jó az FPGA. Arra a feladatra amit te írtál, arra a legjobb egy co-processzor. FPGA-nak pont az a lényege, hogy pl. míg az egyik fele a PCI-E-s VGA-val kommunikál, addig a másik fele a CPU-nak segít be.
-
Maverick14
tag
A VHDL-t a 80-as évek elején kezdték fejleszteni a DoD megbízásából a VHSIC (Very High Speed Integrated Circuits) program keretében. A nyelv sok elemét az akkoriban szintén nekik fejlesztett Ada-ból vették át. A C/C++ akkor még nem volt domináns, az Ada-t is azért fejlesztették ki, hogy a DoD-nál használt mindenféle programnyelveket egységesítsék.
A másik manapság elterjedt hardverleíró nyelv a Verilog is csak nyomokban hasonlít a C-re. -
LordX
veterán
Szerintem az FPGA nem párhuzamos végrehajtásra való. (Most abba ne menjünk bele, hogy ha van elég kapu benne, akkor kettő / három / n végrehajtó egység is beleprogramozható.)
Inkább azt az előnyt látom, hogy nem programot hajt végre, hanem beleégetünk valamit, hogy ha ez az input, akkor az az output. Ez olyasmi művelet is lehet, amihez nincs utasítás a processzorban (ez úgy az esetek 99.999999999%-a
), és csak egy kisebb program/függvény tudja kiszámolni, ami legjobb esetben is annyi órajel, ahány utasítás, a FPGA viszont akár 1 órajel alatt kiadja az összes adat beérkezése után (persze ezek kisebb órajelre képesek).
-
LordX
veterán
Jól olvasom? OpenCL -> FPGA fordító?
-
Maverick14
tag
Természetesen az FPGA nem csodafegyver, nem minden feladatot lehet rajta hatékonyan megoldani.
A "direkt módon kommunikálnak"-ot úgy érted, hogy olyan áramkörre lett volna szükségetek ahol a feldolgozó egységek egy teljesen összekötött hálóban vannak?
Asanovic-ék cikkét olvastam pár éve, a probléma osztályok (törpék) definiálása jó volt benne a többi részét a cikknek picit frissítenem kellene.
Az is igaz, hogy a párhuzamosítási lehetőségeket egy szekvenciálisan végiggondolt kódban/algoritmusban nehéz megtalálni. Az új sok-ezer processzoros hardverek hatékony programozásához új algoritmikus szemléletre van szükség. A régi algoritmusok átalakítása nem elég. Az algoritmusodat úgy kell megtervezni, hogy a cél architektúra fizikai kialakítását, struktúráját figyelembe vegye. -
válasz
Maverick14 #11 üzenetére
Nekunk anno kellett volna egy aramkor -- nagy mennyisegu szamitasi egysegre lett volna szukseg, amelyek lehetoseg szerint direkt modon tudnak egymassal kommunikalni, nem pedig egy kozos buszon. Erre pl. nem volt jo az FPGA, papiron persze meg lehet oldani, de a gyakorlatban nem.
Az, hogy a programozok definialhatnak parhuzamosan futo feladatoka, nem sokat segit, ahogy en latom. Ugyanis ha tenyleg sebessegkritikus a feladat, es leteznek trivialisan* megtalalhato fuggetlen kernelek (*:programozas kozben eszrevehetok, jol korulhatarolhatok, stb.), akkor altalaban a programozok megtalaljak a modjat, hogy ezeket kiszervezzek FPGA-ra, stb.. A problema ott van, hogy a feladatok nagy resze nem parhuzamosithato trivialisan (ld.: http://www.cs.fsu.edu/~awang/courses/cop5611_s2012/multicore.pdf )
-
Maverick14
tag
Elvileg bármilyen programnyelvből lehet áramkört szintetizálni a Turing-Church tézis alapján.
Az FPGA-k programozhatósága miatt pontosan fordítva érdemes gondolkodni. Nem általános célú magok sokaságát, hanem a legszámításigényesebb funkciókhoz specializált műveletvégző egységeket érdemes megvalósítani. Ideális esetben az architektúrát szabod a feladathoz és nem a feladatot az architektúrához.
Jelenleg is vannak már olyan kereskedelmi forgalomban kapható programok (pl. Calypto Catapult C, AutoESL AutoPilot (őket másfél éve vásárolta fel a Xilinx)) amik natív ANSI C kódból tudnak áramkört generálni. A probléma az hogy pl. egy néhány műveletet tartalmazó sima for ciklust is nagyon sokféleképpen le lehet képezni egy áramkörre. Attól függően, hogy mekkora a rendelkezésre álló felület, mekkora áteresztőképességgel és mekkora késleltetéssel dolgozhat a rendszer.
Az OpenCL abban segít, hogy a programozó explicite meg tudja adni, mik azok a kernelek amik párhuzamosan futhatnak. A fordító ez alapján automatikusan legenerál egy architektúrát a kernelhez. A másik előny, hogy elvileg ugyanaz a kód fordulhat APU-ra is.
Mindkét FPGA-s cég dolgozik általános célú processzor és FPGA integrálásán. Az ARM Cortex-A9 MPCore magra építenek az Altera-nál az Arria V SoC és Cyclone V SoC a Xilinx-nél a Zynq sorozatban. Jelenleg úgy tűnik a Xilinx picit előrébb jár ebben, mert ES chip-ek már vannak és augusztustól elérhetők lesznek Zynq-es fejlesztőkártyák. -
Psych0
őstag
Hogy lehet openclből hardvert szintetizálni? Max azt tudom elképzelni, hogy az fpga-ban valami általános feldolgozóegységek vannak példányosítva, és azokra lehet opencl programokat írni.
-
Abu85
HÁZIGAZDA
A integrált GPU egyértelműen jobb alapot képez erre a területre, de egy FPGA-t dobni egy processzor tokozása mellé könnyebben kivitelezhető, mint egy teljesen új lakát készíteni a hozzá illeszkedő IGP-vel. Az Altera reményei tehát megalapozottak a piacszerzéssel kapcsolatban. Az AMD-nek biztos nem alternatíva, de másnak bőven az lehet.
-
buherton
őstag
Amikor bejöttek az új generációs valódi párhuzamosításra képes GPU-k, és hozzá a programnyelv, akkor nekem rögtön beugrott az FPGA. A sok-sok előny mellett van egy hatalmasan nagy hátránya az FPGA-nak, még pedig a felépítéséből adódóan nem lehet a végtelenségig "programozni", mert elfogynak a CLB-k. Ez a dolog, am egyáltalán nem új keletű cucc, ugyanis már lehet kapni, igaz ez nem szerverekbe szánt.
Új hozzászólás Aktív témák
Hirdetés
- TCL LCD és LED TV-k
- Argos: Szeretem az ecetfát
- RAM topik
- Intel Core i3 / i5 / i7 / i9 10xxx "Comet Lake" és i3 / i5 / i7 / i9 11xxx "Rocket Lake" (LGA1200)
- sziku69: Fűzzük össze a szavakat :)
- Vicces képek
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Kivégzi a Firewire-t az új macOS verzió?
- World of Tanks - MMO
- Kertészet, mezőgazdaság topik
- További aktív témák...
- Samsung Galaxy A06 128GB Kártyafüggetlen, 1Év Garanciával
- Telefon felvásárlás!! iPhone 11/iPhone 11 Pro/iPhone 11 Pro Max
- 14" Dell Latitude laptopok: 5400, 5480, 5490, 7480, E7440, E7450 / SZÁMLA + GARANCIA
- Azonnali készpénzes AMD Radeon RX 6000 sorozat videokártya felvásárlás személyesen/csomagküldéssel
- HPE Aruba PoE+ L3 switch raktárról azonnal elérhető!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged