Ich brauche etwas Hilfe, das Konzept von Kernen auf einer GPU gegen Kerne in einer CPU zu verstehen, um parallele Berechnungen zu machen.GPU vs CPU? Anzahl der Kerne/Threads in einer GPU zur Beschleunigung der Programmberechnung?
Wenn es um Kerne in einer CPU geht, scheint es ziemlich einfach. Ich habe eine super intensive "for" -Schleife, die viermal iteriert. Ich habe vier Kerne in meiner Intel i5 2.26GHz CPU. Ich gebe jedem Kern eine Schleife. Jede der vier Schleifen ist unabhängig von der anderen. Boom - Ich habe jetzt vier Threads erstellt und 100% CPU-Auslastung (statt 25% CPU-Auslastung mit nur einem Kern). Meine "for" -Schleife läuft jetzt fast viermal schneller, als wenn ich sie nicht parallelisieren würde. Für die "for" -Schleife verwendete ich übrigens die automatische Parallelisierung, die in Microsoft Visual Studio 2012 verfügbar ist, wie in diesem Online-Beispiel :(http://msdn.microsoft.com/en-us/library/hh872235.aspx).
Im Gegensatz dazu kenne ich nicht einmal die Anzahl der Kerne in der Grafikkarte meines Laptops (Intel Graphics Media Accelerator HD oder Intel HD Graphics mit 1696 MB Shared Memory), die ich für parallele Berechnungen verwenden kann. Ich kenne nicht einmal eine gültige Art, die GPU mit der CPU zu vergleichen. Wenn ich "12 @ 500MHz" neben meiner Grafikkartenbeschreibung sehe, frage ich mich, ob das bedeutet, dass die Grafikkarte 12 Kerne für die Parallelisierung hat, die wie die 4 Kerne in einer CPU funktionieren, nur dass die GPU-Kerne bei 500 MHz laufen ] statt 2,26 GHz [schnell]? Gibt es eine GPU-Nutzung vergleichbar mit der CPU-Auslastung im Windows Task-Manager? Ich bin ein absoluter Neuling, der versucht, die C++ - Bibliothek in Visual Studio 2012 zu verwenden, wenn das einen Unterschied macht. Wenn ich die eigentliche GPU-Software schreibe, sieht der Parallelisierungscode wie folgt aus :(http://msdn.microsoft.com/en-us/library/hh265137.aspx).
Also, würden Sie bitte einige der Lücken oder Fehler in meinem Wissen ausfüllen oder mir helfen, die beiden zu vergleichen? Ich brauche keine super komplizierte Antwort, etwas so einfaches wie "Sie können einen CPU-Kern nicht mit einem GPU-Kern vergleichen, weil er leer ist" oder "ein GPU-Kern ist nicht wirklich ein Kern wie ein CPU-Kern" wäre sehr geschätzt werden.
Wenn Sie sich bemühen, meine Frage zu senken, lassen Sie wenigstens einen Satz, der erklärt, warum Sie denken, dass es ein schlechter ist. Diese Frage ist eher offen und Sie können sie aus verschiedenen Blickwinkeln betrachten. –
Auch ich bin mir bewusst, dass meine Grafikkarte, die Standard mit dem Laptop kam, ein Stück Mist ist. Es ist keine "diskrete Grafikkarte", die mit arbeiten kann. Um dieser Frage gerecht zu werden, geben Sie bitte vor, dass es sich um eine "legitime" Karte handelt, die gut für Programmberechnungen geeignet ist. –