Új hozzászólás Aktív témák
-
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.
tely, baly, fojó, mennyél, mingyárt, telyföl, tolyás, malyd, kapú, egyenlőre, ejsd, jáccani, ahoz, fúj, hüje, muszály, alat, álok, lasan, fojtatás, ál, fontós, költsön, eggyüt, lyob (jobb?), mek, mongyak, milyért - !!! Tanúlyunk már meghejjessen irni... !!!
-
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.
[ Szerkesztve ]
Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.
-
buherton
őstag
Mondjuk ez igaz, és azt se felejtsük el, hogy az FPGA szinte korlátlan sávszélességet képes átereszteni magán. Viszont valami van a biliben, mert a Xilinxről nincs hír, hogy ráktattant volna a témára. Mindenesetre érdekes újítás lenne az tuti.
tely, baly, fojó, mennyél, mingyárt, telyföl, tolyás, malyd, kapú, egyenlőre, ejsd, jáccani, ahoz, fúj, hüje, muszály, alat, álok, lasan, fojtatás, ál, fontós, költsön, eggyüt, lyob (jobb?), mek, mongyak, milyért - !!! Tanúlyunk már meghejjessen irni... !!!
-
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.
"As an online discussion grows longer, the probability of a comparison involving Nazis or Hitler approaches 1."
-
Abu85
HÁZIGAZDA
Ez valószínű. Ezért van esélyük az FPGA-knak.
(#8) daa-raa: Sok dolgot lehetővé tettek korábban a cégek. Az AMD-nél viszont már az integráció elmélyítése a fókusz. Az OpenCL-nek örülnek, de a HSA mellett az FPGA-k már nem játszanak náluk.
[ Szerkesztve ]
Senki sem dől be a hivatalos szóvivőnek, de mindenki hisz egy meg nem nevezett forrásnak.
-
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.My other car is an F-14 Tomcat!
-
nagyúr
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 )
while (!sleep) sheep++;
-
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.My other car is an F-14 Tomcat!
-
LordX
veterán
Jól olvasom? OpenCL -> FPGA fordító?
-
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).
-
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.My other car is an F-14 Tomcat!
-
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.
tely, baly, fojó, mennyél, mingyárt, telyföl, tolyás, malyd, kapú, egyenlőre, ejsd, jáccani, ahoz, fúj, hüje, muszály, alat, álok, lasan, fojtatás, ál, fontós, költsön, eggyüt, lyob (jobb?), mek, mongyak, milyért - !!! Tanúlyunk már meghejjessen irni... !!!
-
buherton
őstag
És nem lehet bele olyan utasítást készíteni? Ne feledd, hogy a procikban is vannak apró ASIC-ek. Összeadás, kivonás, szorzás, osztás...
tely, baly, fojó, mennyél, mingyárt, telyföl, tolyás, malyd, kapú, egyenlőre, ejsd, jáccani, ahoz, fúj, hüje, muszály, alat, álok, lasan, fojtatás, ál, fontós, költsön, eggyüt, lyob (jobb?), mek, mongyak, milyért - !!! Tanúlyunk már meghejjessen irni... !!!
-
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.)
[ Szerkesztve ]
-
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.
[ Szerkesztve ]
tely, baly, fojó, mennyél, mingyárt, telyföl, tolyás, malyd, kapú, egyenlőre, ejsd, jáccani, ahoz, fúj, hüje, muszály, alat, álok, lasan, fojtatás, ál, fontós, költsön, eggyüt, lyob (jobb?), mek, mongyak, milyért - !!! Tanúlyunk már meghejjessen irni... !!!
-
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
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.
tely, baly, fojó, mennyél, mingyárt, telyföl, tolyás, malyd, kapú, egyenlőre, ejsd, jáccani, ahoz, fúj, hüje, muszály, alat, álok, lasan, fojtatás, ál, fontós, költsön, eggyüt, lyob (jobb?), mek, mongyak, milyért - !!! Tanúlyunk már meghejjessen irni... !!!
-
Új hozzászólás Aktív témák
- 6.gen i5 processzorok
- Beszámítás! Intel Core i5 4690K 4 mag 4 szál processzor garanciával hibátlan működéssel
- Beszámítás! Intel Core i9-11900 Processzor - Garancia & Számla - Utolsó Darabok
- Bontatlan 13900KF 3 év magyar kisker garanciával
- Beszámítás! AMD Ryzen 7 7800X3D 8 mag 16 szál processzor garanciával hibátlan működéssel