Homepage » hogyan kell » Miért használunk még CPU-kat A GPU helyett?

    Miért használunk még CPU-kat A GPU helyett?

    A GPU-kat egyre inkább nem-grafikus feladatokhoz használják, mint például a kockázati számítások, a folyadékdinamikai számítások és a szeizmikus elemzés. Mi az, ami megakadályoz minket a GPU-vezérelt eszközök bevezetésében?

    A mai Kérdések és válaszok munkamenet jön számunkra a SuperUser-Stack Exchange alosztályának, a Q & A webhelyek közösségi meghajtó csoportosításának.

    A kérdés

    A SuperUser olvasó Ell lépést tart a tech hírekkel, és kíváncsi, hogy miért nem használunk több GPU alapú rendszert:

    Számomra úgy tűnik, hogy manapság rengeteg számítás történik a GPU-n. Nyilvánvaló, hogy ott grafikát készítenek, de a CUDA és hasonlók használatával az AI, a hash algoritmusok (gondolkodj Bitcoins) és mások is a GPU-n is elvégezhetők. Miért nem tudunk csak megszabadulni a CPU-tól, és önállóan használni a GPU-t? Mi teszi a GPU-t sokkal gyorsabban, mint a CPU?

    Miért valóban? Mi teszi egyedivé a CPU-t?

    A válasz

    A SuperUser hozzájárulása A DragonLord jól támogatott áttekintést nyújt a GPU-k és a CPU-k közötti különbségekről:

    TL; DR válasz: A GPU-k sokkal több processzormagot tartalmaznak, mint a CPU-k, de mivel minden GPU mag lényegesen lassabb, mint a CPU-mag, és nincsenek a korszerű operációs rendszerekhez szükséges funkciók, nem alkalmasak a legtöbb feldolgozás elvégzésére a mindennapi számítástechnikában. Ezek a legmegfelelőbbek az olyan számítási intenzív műveletekhez, mint a videófeldolgozás és a fizikai szimulációk.

    A részletes válasz: A GPGPU még mindig viszonylag új koncepció. A GPU-kat eredetileg csak grafikus megjelenítésre használták; A fejlett technológiának köszönhetően a GPU-kban a CPU-khoz viszonyított nagyszámú magot kihasználta a GPU-k számítási képességeinek fejlesztése, hogy a párhuzamos adatfolyamokat egyszerre tudják feldolgozni, függetlenül attól, hogy az adatok milyenek lehetnek. Míg a GPU-k száz vagy akár több ezer adatfeldolgozó processzorral rendelkezhetnek, mindegyikük lassabb, mint a CPU mag, és kevesebb funkcióval rendelkezik (még akkor is, ha teljes körű, és programozható bármely program futtatásához, amelyet a CPU futtathat). A GPU-kból hiányzó funkciók közé tartozik a megszakítások és a virtuális memória, amelyek a korszerű operációs rendszer megvalósításához szükségesek.

    Más szavakkal, a CPU-k és a GPU-k jelentősen eltérő architektúrákkal rendelkeznek, amelyek jobban megfelelnek a különböző feladatoknak. A GPU számos adatfolyamban képes kezelni a nagy mennyiségű adatot, és viszonylag egyszerű műveleteket hajt végre rajtuk, de egy vagy több adatfolyamon nehéz vagy komplex feldolgozásra alkalmas. A CPU lényegesen gyorsabb, mint egy alap alapú (utasítások másodpercenként), és bonyolult műveleteket hajthat végre egyetlen vagy néhány adatfolyamon könnyebben, de nem képes hatékonyan kezelni egyidejűleg több patakot.

    Ennek eredményeképpen a GPU-k nem alkalmasak olyan feladatok kezelésére, amelyek nem részesülnek jelentősen előnyben vagy nem párhuzamosak, beleértve a gyakori fogyasztói alkalmazásokat, például a szövegszerkesztőket. Továbbá a GPU-k alapvetően eltérő architektúrát használnak; egy GPU-nak kifejezetten egy alkalmazást kell programoznia, hogy működjön, és a GPU-k programozásához jelentősen eltérő technikákra van szükség. Ezek a különböző technikák magukban foglalják az új programozási nyelveket, a meglévő nyelvek módosítását és az új programozási paradigmákat, amelyek jobban alkalmasak arra, hogy egy számítási folyamatot párhuzamos műveletként fejezzenek ki, amelyet sok adatfeldolgozó végez. A GPU-k programozásához szükséges technikákkal kapcsolatos további információkért tekintse meg a Wikipedia cikkeket a stream feldolgozásról és a párhuzamos számítástechnikáról.

    A modern GPU-k képesek vektor műveleteket és lebegőpontos számtani műveleteket végezni, a legújabb kártyák képesek a kettős pontosságú lebegőpontos számok manipulálására. Az olyan keretek, mint a CUDA és az OpenCL lehetővé teszik a GPU-k számára írt programok programozását, és a GPU-k jellege a leginkább alkalmasak a nagyon párhuzamosan működő műveletekre, mint például a tudományos számítástechnikában, ahol egy sor speciális GPU-számítási kártya életképes csere lehet egy kis számítási klaszter, mint az NVIDIA Tesla Személyi szuperszámítógépekben. A Folding @ home rendszerrel tapasztalt modern GPU-kkal rendelkező fogyasztók használhatják őket a GPU-ügyfelek számára, akik nagyon nagy sebességgel képesek fehérje összecsukható szimulációkat végrehajtani, és több munkát végeznek a projekthez (először olvassa el a GYIK-ot, különösen azokat, amelyek a GPU). A GPU-k jobb fizikai szimulációt is lehetővé tehetnek a fizikai videojátékokban, gyorsítják a videó kódolást és dekódolást, és más számítástechnikai feladatokat végeznek. Az ilyen típusú feladatok a GPU-k leginkább alkalmasak a teljesítésre.

    Az AMD úttörője a gyorsított feldolgozóegységnek (APU) nevezett processzor-tervezés, amely a hagyományos x86 CPU-magokat GPU-kkal ötvözi. Ez lehetővé teszi, hogy a CPU és a GPU komponensek együtt működjenek, és javítsák a teljesítményt olyan rendszereken, ahol korlátozott hely van az egyes összetevők számára. Ahogy a technológia tovább halad, egyre nagyobb fokú konvergenciát fogunk látni ezeknek az egyszer-különálló részeknek. Azonban a PC operációs rendszerek és alkalmazások számos feladata még jobban megfelel a CPU-knak, és sok munka szükséges egy program gyorsításához egy GPU használatával. Mivel a már meglévő szoftverek az x86 architektúrát használják, és mivel a GPU-k különböző programozási technikákat igényelnek, és az operációs rendszerek számára számos fontos funkciót hiányoznak, a CPU-ról a GPU-ra történő általános átmenet rendkívül nehézkes..


    Van valami, amit hozzá kell adni a magyarázathoz? Kikapcsolja a megjegyzéseket. Szeretne további válaszokat olvasni más tech-savvy Stack Exchange felhasználóktól? Nézze meg a teljes beszélgetés szálát itt.