Új hozzászólás Aktív témák
-
LordX
veterán
válasz
VaniliásRönk
#11
üzenetére
Akkor újrafordítod?
-
Reggie0
félisten
válasz
VaniliásRönk
#26
üzenetére
Rohadt draga es sok ido mire megterul. Ha a magyar lakossagi villanyarat nezzuk, akkor kb. 2 ev a beruhazas megterulese, de az ilyesmiben utazo cegek joval olcsobban veszik az aramot igy ez az ido erosen kitolodik. Viszont a GPU-k fejlodesevel is fel kell venni a versenyt. Tehat mire hasznot hozna a valtas, addigra lehet lecserelni vagy boviteni.
-
Bada Bing
tag
válasz
VaniliásRönk
#21
üzenetére
Nem. Az FPGA teljesen általános logikai elemeket tartalmaz, amelyek tetszőleges logikai függvényt képesek megvalósítani. Az OpenCL parancsokat elvégző elemeket ilyen általános logikai elemekből állítjuk össze, amikor felprogramozzuk az FPGA-t. Tehát amikor legyártják a lapkát, akkor még azok a logikai elemek akármivé összeállhatnak, akkor válnak OpenCL utasításvégrehajtókká, amikor az emlegetett kapcsolókat ennek megfelelően állítjuk be.
-
JColee
őstag
válasz
VaniliásRönk
#21
üzenetére
-
Reggie0
félisten
válasz
VaniliásRönk
#21
üzenetére
Itt van az Altera osszefoglaloja, hogy ezt hogyan is kepzeltek megvalositani.
-
Bada Bing
tag
válasz
VaniliásRönk
#17
üzenetére
Az FPGA egy teljesen általánosan konfigurálható (programozható) eszköz, nincs benne semmiféle funkció összehányva.
Közelítőleg úgy lehet elképzelni, mintha egy processzor tranzisztorait összekötő minden egyes vezetéken elhelyeznénk egy-egy kapcsolót. Az FPGA "programja" azt tartalmazza, hogy mely kapcsolók vannak bekapcsolva és melyek kikapcsolva.
Vagyis nem a gyártás során dől el, hogy mely logikai elemeket kötünk össze milyen sorrendben, hanem ezt egy számítógép segítségével bármikor módosíthatjuk.
Az FPGA-k épp azért kerülnek most az érdeklődés középpontjába, egyre több feladatot oldunk meg párhuzamos algoritmusokkal és az FPGA-k ebben nagyon hatékonyak.
Az, hogy az FPGA-k hatékonyan programozhatók legyenek egy adott területen, csak megfelelő nyelv és fejlesztőeszközök kérdése. Jelfeldolgozási feladatokra például már régóta alkalmaznak FPGA-kat, és ilyen célokra már vannak hatékony fejlesztőeszközök is, amelyhez jelfeldolgozási szemléletre van szükség, nem pedig hardveresre.
Az OpenCL révén most olyan algoritmusok és feladatok terjedtek el, amelyekben nagyon hatékonyak az FPGA-k, ezért kézenfekvő feladat egy OpenCL -> FPGA fordító megalkotása.
-
JColee
őstag
válasz
VaniliásRönk
#17
üzenetére
Ilyen az FPGA. Nézd meg az architecture részt. Olyanból van benne jó sok.
-
Blindmouse
senior tag
válasz
VaniliásRönk
#11
üzenetére
Nekem volt, hogy egy 50 Kgates (elég kicsi) FPGA-ra három órát számolt a gépem, mire kiköpte az eredményt.
Igazából nem tudom hogy lehetne a jelenlegi programozókat beidomítani, hogy a hardveren tudjanak dolgozni. Legtöbbjüknek két magra nem megy az optimalizálás, nem tudom mit kezdenének n számú különböző funkciójú, késleletetésű, működésű egyszerre futó elemmel. -
Phvhun
őstag
válasz
VaniliásRönk
#11
üzenetére
Az FPGA lényege, hogy akármikor újra lehet programozni a kapcsolatokat a chipben.
Tehát ha olyanod van akkor cpu-nak "behuzalozott" fpga-t át tudod állítani gpu-nak.
Ezt egy rendes procin csak emulálással lehet elérni, ami nagyságrendekkel lassabb működést eredményez.Viszont ha veszünk egy konkrét felprogramozott fpga-t, és legyártjuk ugyanazt rendesen, mint a procikat, akkor az lesz a kisebb lapkaméretű, gyorsabb és kisebb fogyasztású.
Tehát az fpga lényege a rugalmassága.
-
ftc
nagyúr
válasz
VaniliásRönk
#3
üzenetére
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity ALU is
port( A: in std_logic_vector(3 downto 0);
B: in std_logic_vector(3 downto 0);
sel: in std_logic_vector(2 downto 0);
result: out std_logic_vector(3 downto 0);
carry: out std_logic);
end ALU;
architecture behv of ALU is
begin
process(A,B,Sel)
variable tempresult:std_logic_vector (4 downto 0);
begin
case sel is
when "000" => --000 add.
tempresult := ('0' & A)+('0' & B);
when "001" => --001 sub
tempresult := ('0' & A) + (not ('0' & B)) + 1;
when "010" => --010 mul.
tempresult := ('0' & A)*('0' & B);
when "011" => --011 div.
tempresult := ('0' & A)/('0' & B);
when "100" => --100 and
tempresult := ('0' & A) and ('0' & B);
when "101" => --101 or
tempresult := ('0' & A) or ('0' & B);
end case;
result<=tempresult(3 downto 0);
carry<=tempresult(4);
end process;
end behv;ez egy vhdl kód egy ALU-é... jelenleg ezt is programozni kell ezt szeretnék felépíteni egy magasabb szintű program nyelvel...ami az OpenCL lenne... amit látsz ez csak egy kis alap... a legnagyobb gond, hogy 90%-ban elveszel a részletekben egy nagy projektnél
-
korcsi
veterán
válasz
VaniliásRönk
#3
üzenetére
Sosem volt fixen bedrótozva, az összeköttetéseket lehet programozni a logikai blokkok között, ezért nehéz programozni, nekem sem maradt meg belőle sok a főiskola óta

Új hozzászólás Aktív témák
- Battlefield 6
- Samsung Galaxy Felhasználók OFF topicja
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- exHWSW - Értünk mindenhez IS
- Milyen TV-t vegyek?
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Fotók, videók mobillal
- Konteó topic
- Huawei Watch GT 5 Pro - egészség + stílus
- Futás, futópályák
- További aktív témák...
- BESZÁMÍTÁS! ASUS B450M R5 5500 16GB DDR4 512GB SSD RTX 2070 Super 8GB DEEPCOOL Tesseract SW 600W
- PS Plus előfizetések kedvező áron
- LicencAruhaz.hu OLCSÓ, LEGÁLIS SZOFTVEREK AZONNAL - Windows - Office - Win Server - ÖRÖK GARANCIÁVAL
- Gamer PC-Számítógép! Csere-Beszámítás! R5 5500 / RX 6700XT 12GB / 32GB DDR4 / 512GB SSD
- HIBÁTLAN iPhone 13 256GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS3735, 91% Akkumulátor
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő





