Warum verwenden wir immer noch CPUs anstelle von GPUs?

Es scheint mir, dass heutzutage viele Berechnungen auf der GPU durchgeführt werden. Offensichtlich werden dort Grafiken erstellt, aber mit CUDA und dergleichen werden auch KI, Hashing-Algorithmen (denken Sie an Bitcoins) und andere auf der GPU ausgeführt. Warum können wir die CPU nicht einfach loswerden und die GPU alleine verwenden? Was macht die GPU so viel schneller als die CPU?

Author: bwDraco, 2011-07-10

15 answers

TL; DR Antwort: GPUs haben weit mehr Prozessorkerne als CPUs, aber da jeder GPU-Kern deutlich langsamer läuft als ein CPU-Kern und nicht über die Funktionen verfügt, die für moderne Betriebssysteme benötigt werden, sind sie nicht geeignet für die Durchführung der meisten Verarbeitung im täglichen Computing. Sie eignen sich am besten für rechenintensive Vorgänge wie Videoverarbeitung und Physiksimulationen.


GPGPU ist immer noch ein relativ neues Konzept. GPUs wurden ursprünglich verwendet für rendern von Grafiken nur; Als die Technologie fortgeschritten war, wurde die große Anzahl von Kernen in GPUs im Vergleich zu CPUs ausgenutzt, indem Rechenfunktionen für GPUs entwickelt wurden, sodass sie viele parallele Datenströme gleichzeitig verarbeiten können, unabhängig davon, was diese Daten sein mögen. Während GPUs Hunderte oder sogar Tausende von Stream-Prozessoren haben können, laufen sie jeweils langsamer als ein CPU-Kern und haben weniger Funktionen (auch wenn sie Turing complete und programmiert werden können, um jedes Programm auszuführen, das eine CPU ausführen kann laufen). Zu den Funktionen, die bei GPUs fehlen, gehören Interrupts und virtueller Speicher, die zur Implementierung eines modernen Betriebssystems erforderlich sind.

Mit anderen Worten, CPUs und GPUs haben deutlich unterschiedliche Architekturen, die sie besser für verschiedene Aufgaben geeignet machen. Eine GPU kann große Datenmengen in vielen Datenströmen verarbeiten und relativ einfache Vorgänge ausführen, eignet sich jedoch nicht für eine schwere oder komplexe Verarbeitung einzelner oder weniger Datenströme. Eine CPU ist viel schneller auf einer Pro-Core-Basis (in Bezug auf Anweisungen pro Sekunde) und kann komplexe Operationen an einem oder wenigen Datenströmen einfacher ausführen, kann jedoch nicht effizient viele Streams gleichzeitig verarbeiten.

Daher eignen sich GPUs nicht für Aufgaben, die nicht wesentlich von der Parallelisierung profitieren oder nicht parallelisiert werden können, einschließlich vieler gängiger Consumer-Anwendungen wie Textverarbeitungsprogramme. Darüber hinaus verwenden GPUs eine grundlegend andere Architektur; man müsste eine Anwendung speziell für eine GPU, damit es funktioniert, und zum Programmieren von GPUs sind erheblich unterschiedliche Techniken erforderlich. Diese verschiedenen Techniken umfassen neue Programmiersprachen, Änderungen an vorhandenen Sprachen und neue Programmierparadigmen, die besser geeignet sind, eine Berechnung als parallele Operation auszudrücken, die von vielen Stream-Prozessoren ausgeführt werden soll. Weitere Informationen zu den zum Programmieren von GPUs erforderlichen Techniken finden Sie in den Wikipedia-Artikeln zu stream processing und . computing - .

Moderne GPUs können Vektoroperationen und Gleitkommaarithmetik ausführen, wobei die neuesten Karten Gleitkommazahlen mit doppelter Genauigkeit manipulieren können. Frameworks wie CUDA und OpenCL ermöglichen es, Programme für GPUs zu schreiben, und die Art der GPUs macht sie am besten geeignet, um hoch parallelisierbare Operationen, wie in Scientific Computing, wo eine Reihe von spezialisierten GPU Compute-Karten kann ein tragfähiger Ersatz für einen kleinen Compute-Cluster als in NVIDIA Tesla Persönliche Supercomputer. Verbraucher mit modernen GPUs, die Erfahrung mit Folding@home haben, können sie verwenden, um mit GPU-Clients einen Beitrag zu leisten, die Proteinfaltsimulationen mit sehr hohen Geschwindigkeiten durchführen und mehr Arbeit zum Projekt beitragen können (lesen Sie zuerst die FAQs , insbesondere die zu GPUs). GPUs können auch eine bessere Physiksimulation in Videospielen mit PhysX ermöglichen, die Videocodierung und-decodierung beschleunigen und andere Funktionen ausführen rechenintensive Aufgaben. Es sind diese Arten von Aufgaben, für die GPUs am besten geeignet sind.

AMD ist Vorreiter bei einem Prozessordesign namens Accelerated Processing Unit (APU) , das herkömmliche x86-CPU-Kerne mit GPUs kombiniert. Dieser Ansatz ermöglicht eine grafische Leistung, die Motherboard-integrierten Grafiklösungen weit überlegen ist (wenn auch nicht für teurere diskrete GPUs), und ermöglicht ein kompaktes, kostengünstiges System mit guter Multimedia-Leistung ohne die benötigen Sie eine separate GPU. Die neuesten Intel-Prozessoren bieten auch integrierte On-Chip-Grafik, obwohl die integrierte GPU-Leistung derzeit auf die wenigen Chips mit Intel Iris Pro-Grafik beschränkt ist. Wenn die Technologie weiter voranschreitet, werden wir einen zunehmenden Grad an Konvergenz dieser einst getrennten Teile sehen. AMD stellt sich eine Zukunft vor, in der CPU und GPU eins sind und nahtlos an derselben Aufgabe zusammenarbeiten können.

Nichtsdestotrotz werden viele Aufgaben vom PC ausgeführt betriebssysteme und Anwendungen sind immer noch besser für CPUs geeignet, und es ist viel Arbeit erforderlich, um ein Programm mit einer GPU zu beschleunigen. Da so viel vorhandene Software die x86-Architektur verwendet und GPUs unterschiedliche Programmiertechniken erfordern und einige wichtige Funktionen für Betriebssysteme fehlen, ist ein allgemeiner Übergang von CPU zu GPU für das tägliche Computing sehr schwierig.

 403
Author: bwDraco,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-07-30 17:33:47

Was macht die GPU so viel schneller als die CPU?

Die GPU ist nicht schneller als die CPU. CPU und GPU sind mit zwei verschiedenen Zielen entworfen, mit unterschiedlichen Kompromissen, so dass sie unterschiedliche Leistungsmerkmale haben. Bestimmte Aufgaben sind in einer CPU schneller, während andere Aufgaben in einer GPU schneller berechnet werden. Die CPU zeichnet sich durch komplexe Manipulationen an einem kleinen Datensatz aus, die GPU zeichnet sich durch einfache Manipulationen an einem großen Satz von Daten.

Die GPU ist eine spezielle CPU, die so konzipiert ist, dass ein einzelner Befehl über einen großen Datenblock (SIMD/Single Instruction Multiple Data) arbeitet und alle dieselbe Operation anwendet. Das Arbeiten in Datenblöcken ist sicherlich effizienter als das gleichzeitige Arbeiten mit einer einzelnen Zelle, da die Dekodierung der Anweisungen einen viel geringeren Overhead verursacht, Das Arbeiten in großen Blöcken jedoch bedeutet, dass es mehr parallele Arbeitseinheiten gibt, sodass viel mehr Transistoren zum Implementieren verwendet werden eine einzelne GPU-Anweisung (verursacht physikalische Größenbeschränkungen, verbraucht mehr Energie und erzeugt mehr Wärme).

Die CPU ist so konzipiert, dass sie einen einzelnen Befehl so schnell wie möglich an einem einzelnen Datum ausführt. Da es nur mit einem einzigen Datum arbeiten muss, ist die Anzahl der Transistoren, die zum Implementieren eines einzelnen Befehls erforderlich sind, viel geringer, sodass sich eine CPU einen größeren Befehlssatz, eine komplexere ALU, eine bessere Verzweigungsvorhersage leisten kann, eine bessere virtualisierte Architektur und eine mehr ausgeklügelte Caching/Pipeline-Schemata. Seine Befehlszyklen sind auch schneller.

Der Grund, warum wir immer noch CPU verwenden, ist nicht weil x86 der König der CPU-Architektur ist und Windows für x86 geschrieben ist, ist der Grund, warum wir immer noch CPU verwenden, weil die Art von Aufgaben, die ein Betriebssystem ausführen muss, dh Entscheidungen treffen, effizienter auf einer CPU-Architektur ausgeführt wird. Ein Betriebssystem muss 100s verschiedener Datentypen betrachten und verschiedene Entscheidungen treffen, die alle voneinander abhängen; diese Art von Job parallelisiert nicht leicht, zumindest nicht in eine SIMD-Architektur.

In Zukunft werden wir eine Konvergenz zwischen der CPU-und der GPU-Architektur sehen, da die CPU die Fähigkeit erhält, über Datenblöcke zu arbeiten, z. B. SSE. Wenn sich die Fertigungstechnologie verbessert und die Chips kleiner werden, kann es sich die GPU auch leisten, komplexere Anweisungen zu implementieren.

 259
Author: Lie Ryan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-02-12 23:48:02

GPUs fehlen:

  1. Virtuellen Speicher (!!!)
  2. Mittel zur Adressierung anderer Geräte als Speicher (z. B. Tastaturen, Drucker, Sekundärspeicher usw.)
  3. Unterbricht

Sie benötigen diese, um so etwas wie ein modernes Betriebssystem implementieren zu können.

Sie sind auch (relativ) langsam bei Arithmetik mit doppelter Genauigkeit (im Vergleich zu ihrer arithmetischen Leistung mit einfacher Genauigkeit)* und sind viel größer (in Bezug auf die Größe von Silizium). Ältere GPU-Architekturen unterstützen Sie keine indirekten Aufrufe (über Funktionszeiger), die für die meisten Allzweckprogrammierungen erforderlich sind, und neuere Architekturen, die dies langsam tun. Schließlich verlieren GPUs (wie andere Antworten festgestellt haben) bei Aufgaben, die nicht parallelisiert werden können, im Vergleich zu CPUs bei gleicher Arbeitslast.

EDIT: Bitte beachten Sie, dass diese Antwort im Jahr 2011 geschrieben wurde-GPU Tech ist ein Bereich, der sich ständig ändert. Die Dinge könnten sehr unterschiedlich sein, je nachdem, wann Sie dies lesen :P

* Einige GPUs sind bei der Arithmetik mit doppelter Genauigkeit nicht langsam, z. B. Nvidias Quadro-oder Tesla-Linien (Fermi-Generation oder neuer) oder AMDs FirePro-Linie (GCN-Generation oder neuer). Aber diese sind nicht in den Maschinen der meisten Verbraucher.

 77
Author: Billy ONeal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-07-12 06:55:13

Eine CPU ist wie ein Worker, der super schnell geht. Eine GPU ist wie eine Gruppe von Klonarbeitern, die schnell gehen, aber alle dasselbe unisono tun müssen (mit der Ausnahme, dass einige Klone im Leerlauf sitzen können, wenn Sie möchten)

Was würdest du lieber als deinen Mitentwickler haben, einen superschnellen Kerl oder 100 schnelle Klone, die eigentlich nicht so schnell sind, aber alle die gleichen Aktionen gleichzeitig ausführen müssen?

Für einige Aktionen sind die Klone ziemlich gut, zB sweep the boden - sie können jeweils einen Teil davon fegen.

Bei einigen Aktionen stinken die Klone, z. B. schreiben Sie den wöchentlichen Bericht - alle Klone außer einem sitzen im Leerlauf, während ein Klon den Bericht schreibt (andernfalls erhalten Sie nur 100 Kopien desselben Berichts).

 39
Author: John Robertson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-07-11 15:39:21

Weil GPUs entworfen sind, um viele kleine Dinge auf einmal zu tun, und CPUs entworfen sind, um eine Sache zu einer Zeit zu tun. Wenn Ihr Prozess wie Hashing massiv parallel ausgeführt werden kann, ist die GPU um Größenordnungen schneller, andernfalls nicht.

Ihre CPU kann einen Hash viel, viel schneller berechnen als Ihre GPU - aber die Zeit, die Ihre CPU dafür benötigt, könnte Ihre GPU Teil von mehreren hundert Hashes sein. GPUs sind so konzipiert, dass sie viele Dinge gleichzeitig tun, und CPUs sind entwickelt, um eine Sache zu einer Zeit zu tun, aber sehr schnell.

Das Problem ist, dass CPUs und GPUs sehr unterschiedliche Lösungen für sehr unterschiedliche Probleme sind, es gibt eine kleine Überlappung, aber im Allgemeinen bleibt das, was in ihrer Domäne ist, in ihrer Domäne. Wir können die CPU nicht durch eine GPU ersetzen, weil die CPU dort sitzt und ihre Arbeit viel besser macht als eine GPU, einfach weil eine GPU nicht dafür ausgelegt ist und eine CPU.

Eine kleine Randnotiz, wenn es möglich wäre, die CPU zu verschrotten und nur eine GPU haben, glaubst du nicht, wir würden es umbenennen? :)

 24
Author: Phoshi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-07-10 17:51:46

Fragen Sie wirklich Warum verwenden wir keine GPU - ähnlichen Architekturen in der CPU?

GPU ist nur eine spezialisierte CPU einer Grafikkarte. Wir verleihen GPU nicht Grafikberechnung, weil Allzweck-CPU sind einfach nicht bis zu par in Parallel-und Gleitkommaausführung.

Wir verwenden tatsächlich verschiedene (mehr GPU-ish) CPU-Architekturen. ZB Niagara Prozessoren sind ziemlich Multitasking. SPARC T3 führt 512 gleichzeitige Threads aus.

 15
Author: jkj,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-07-11 07:03:50

Ich könnte mich hier schrecklich irren und spreche von geringer oder keiner Autorität zu diesem Thema, aber hier geht:

  • Ich glaube, dass jede GPU-Ausführungseinheit ("Kern") im Vergleich zu einer CPU einen sehr begrenzten Adressraum hat.

  • GPU-Ausführungseinheiten können nicht effizient mit Verzweigungen umgehen.

  • GPU-Ausführungseinheiten unterstützen Hardware-Interrupts nicht auf die gleiche Weise wie CPUs.

Ich habe immer gedacht, wie GPU-Ausführungseinheiten gemeint waren be ist so etwas wie die Playstation 3 "SPEs", sie wollen einen Datenblock erhalten, eine Reihe von sequentiellen Operationen ausführen und dann einen anderen Datenblock ausspucken, spülen, wiederholen. Sie haben nicht so viel adressierbaren Speicher wie das Haupt "CPE", aber die Idee ist, jede" SPE " einer bestimmten, sequentiellen Aufgabe zu widmen. Der Ausgang einer Einheit kann den Eingang einer anderen Einheit speisen.

Die Ausführungseinheiten funktionieren nicht gut, wenn sie versuchen, die Daten zu" analysieren " und eine Reihe von entscheidungen basierend auf dem, was diese Daten sind.

Diese "Datenblöcke" können Teil eines Streams sein, z. B. eine Liste von Eckpunkten aus der Zustandstabelle eines Spiels, MPEG-Daten von einer Festplatte usw.

Wenn etwas nicht zu diesem "Streaming" - Modell passt, haben Sie eine Aufgabe, die nicht effizient paralellisiert werden kann, und die GPU ist nicht unbedingt die beste Lösung dafür. Ein gutes Beispiel ist die Verarbeitung von" External Event " - basierten Dingen wie Tastatur -, Joystick-oder Netzwerkeingaben. Es gibt nicht viele Dinge, die passen Sie nicht zu diesem Modell, aber es wird immer ein paar geben.

 12
Author: LawrenceC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-07-10 15:55:56

Dies ist nichts über Taktgeschwindigkeit oder Zweck. Sie sind beide gleichermaßen in der Lage, die meisten, wenn nicht alle Aufgaben zu erledigen; Einige sind jedoch für einige Aufgaben etwas besser geeignet als andere.

Hat Es einen ganz alte Streit darüber, ob es besser ist, viel zu dumm Kerne oder eine kleine Gruppe von sehr intelligenten Kerne. Dies geht leicht zurück in die 80er Jahre.

Innerhalb einer CPU gibt es viele mögliche Berechnungen, die durchgeführt werden können. Die intelligenteren Kerne können ausführen viele verschiedene Berechnungen gleichzeitig (ähnlich wie Multi-Core, aber nicht kompliziert; siehe Parallelität auf Befehlsebene). Ein intelligenter Kern könnte mehrere Berechnungen gleichzeitig durchführen (addieren, subtrahieren, Multiplizieren, Dividieren, Speicheroperation), aber jeweils nur eine; Aus diesem Grund sind sie physisch größer (und daher viel teurer) als dümmer Kerne.

Ein dummer Kern ist viel kleiner und daher kann einem einzelnen Chip mehr hinzugefügt werden, kann aber nicht so viele tun gleichzeitige Berechnungen. Es gibt eine gute Balance zwischen vielen dummen Kernen und einigen intelligenten Kernen.

Multi-Core-Architekturen funktionieren gut mit Grafiken, da die Berechnungen leicht auf Hunderte von Kernen aufgeteilt werden können, aber es hängt auch von der Qualität des Codes ab und davon, ob sich anderer Code auf das Ergebnis einer Berechnung stützt.

Dies ist ein viel kompliziertere Frage, als es scheinen mag. Für weitere Informationen lesen Sie diesen Artikel über CPU design:

Moderne Mikroprozessoren-Eine 90-minütige Anleitung

Http://www.lighterra.com/papers/modernmicroprocessors/

 7
Author: Silverfire,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-06-12 13:48:39

Ich möchte einen syntaktischen Punkt ansprechen: Die Begriffe CPU und GPU sind Funktionsnamen, keine architektonischen Namen.

Wenn ein Computer eine GPU als Hauptprozessor verwenden würde, würde er unabhängig von Architektur und Design zu einer "zentralen Verarbeitungseinheit" (CPU) werden.

 6
Author: Andrew Neely,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-07-15 11:44:05

Es ist wichtig zu bedenken, dass es im Architekturraum keine magische Trennlinie gibt, die einen Prozessor zum "zentralen" und einen zum "Grafik" macht. (Nun, einige GPUs sind möglicherweise zu verkrüppelt, um vollständig allgemein zu sein, aber das sind nicht die, über die wir hier sprechen.)

Die Unterscheidung besteht darin, wie sie auf der Platine installiert sind und welche Aufgaben ihnen übertragen werden. Natürlich verwenden wir einen Allzweckprozessor (oder eine Reihe von Allzweckprozessoren) für die hauptdaten mover, und eine spezielle, parallelisierte, tief Rohr-gefüttert Einheit für Dinge (wie Grafiken) zu können am besten nutzen Sie.

Die meisten der spießigen Tricks, die verwendet wurden, um GPUs dazu zu bringen, ihr Ding sehr schnell zu machen, wurden zuerst von Leuten entwickelt, die versuchten, schnellere und bessere CPUs herzustellen. Es stellt sich heraus, dass Word und Excel und Netscape und viele andere Dinge, für die Menschen ihre Computer verwenden, nicht nur die von grafikspezialisierten Chips angebotenen Funktionen nicht voll ausnutzen, sondern sogar führen Sie langsamer auf diesen Architekturen aus, da Zweig viel (sehr teuer und langsam) Pipe-Line löscht.

 5
Author: dmckee --- ex-moderator kitten,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-07-10 14:57:18

Der springende Punkt, dass es überhaupt eine GPU gab, bestand darin, die CPU von teuren Grafikberechnungen zu befreien, die sie zu dieser Zeit durchführte.
Durch die Kombination zu einem einzigen Prozessor wieder würde zurückgehen, wo alles begann.

 3
Author: Petruza,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-07-10 21:35:07

Aus einem einfachen Grund: Die meisten Anwendungen sind nicht Multithread / vektorisiert.

Grafikkarten sind zumindest im Konzept stark auf Multi-Threading angewiesen.

Vergleichen Sie ein Auto mit einem einzigen Motor, ein Auto mit einem kleineren Motor pro Rad. Bei letzterem Auto müssen Sie alle Motoren beherrschen, was aus Sicht der Systemprogrammierung nicht berücksichtigt wurde.

Mit AMD Fusion wird sich jedoch ändern, wie wir die Verarbeitung nutzen müssen leistung: entweder vektorisiert, entweder schnell für einen Thread.

 3
Author: jokoon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-07-17 16:44:16

Der Grund, warum wir immer noch CPUs verwenden, ist, dass sowohl CPUs als auch GPUs ihre einzigartigen Vorteile haben. Siehe meinen folgenden Artikel, der in ACM Computing Surveys 2015 akzeptiert wurde und eine schlüssige und umfassende Diskussion über die Abkehr von der "CPU vs GPU-Debatte" zu "CPU-GPU Collaborative Computing" bietet.

Eine Umfrage von CPU und GPU Heterogenen Computing-Techniken,

 3
Author: user984260,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-06-14 19:15:05

Wenn einfach GPU setzen kann im Auto Anhänger verglichen werden. Wie üblich ist es für die Mehrheit der Menschen genug, außer für Fälle, wenn sie etwas wirklich Großes kaufen. Dann können sie Anhänger brauchen. Das gleiche gilt für GPU, da es normalerweise ausreicht, eine normale CPU zu haben, die die meisten Aufgaben erledigt. Wenn Sie jedoch in vielen Threads intensive Berechnungen benötigen, können Sie GPU

 2
Author: Yuriy Zaletskyy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-11-16 15:42:30

Gpus sind gute stream-Prozessoren. sie können sich die Stream-Verarbeitung als Multiplikation eines langen Arrays von Zahlen nacheinander vorstellen. cpus haben auch Stream-Verarbeitungsfunktionen (es heißt SIMD-Erweiterungen), aber Sie können nicht die gesamte Programmierlogik als Stream-Verarbeitung implementieren, und Compiler haben die Möglichkeit, btyecode zu erstellen, der nach Möglichkeit SIMD-Anweisungen verwendet.

Nicht alles ist ein Array von Zahlen. bilder und Videos sind, vielleicht auch Ton(es gibt OPENCL-Encoder hier und da). so können GPUs Bilder, Videos und ähnliches verarbeiten, kodieren und dekodieren. ein Nachteil ist, dass Sie in Spielen nicht alles auf GPUs abladen können, da dies zu Stottern führen würde, GPUs mit Grafiken beschäftigt sind und beim Spielen der Engpass im System sein sollen. die optimale Lösung wäre die vollständige Nutzung aller Komponenten in einem PC. so führt beispielsweise Nvidias Physx-Engine standardmäßig Berechnungen auf der CPU durch, wenn die GPU voll ausgelastet ist.

 2
Author: Uğur Gümüşhan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-07-06 13:38:52