Diskussion zum Artikel "Neuronale Netze leicht gemacht (Teil 5): Parallele Berechnungen mit OpenCL" - Seite 2
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Das ist also keine Neuigkeit - es gab 1 Kern, und er war ausgelastet, und jetzt gibt es zwei Kerne, die Belastung ist um die Hälfte gesunken.... Höchstwahrscheinlich sind die Änderungen bedeutender und der Vergleich ist nicht korrekt.
Um die Gründe für die Beschleunigung zu verstehen, reicht es nicht aus, die Anzahl der Kerne zu betrachten, sondern man muss sich auch die Architektur des Rechners ansehen.
Das sehe ich auch so. Ich habe nicht verstanden, warum 4 Vektoren anstelle von 2 parallelisiert wurden?
Das ist also keine Neuigkeit - es gab 1 Kern, und er war ausgelastet, und jetzt gibt es zwei Kerne, die Belastung ist um die Hälfte gesunken.... Wahrscheinlich sind die Änderungen deutlicher und der Vergleich ist nicht korrekt.
Die Speicherzuweisung kann effizienter sein, ein Kern erhält die Daten vollständig auf einmal, ohne Umverteilung. Es stellt sich heraus, dass dies schneller ist. Aber für einige Aufgaben kann es langsamer sein, wenn die Kernelberechnungen ressourcenintensiv sind.
Einverstanden. Hier habe ich nicht verstanden, warum dann 4 Vektoren parallelisiert wurden und nicht 2?
Es wurden 2 Vektoren mit je 4 Elementen parallelisiert. Vektoren inp und Gewicht. Sie haben jeweils vier Elemente eingesetzt und sie dann mit Punkt multipliziert.
Dimitri, danke für die Antwort.
Effizientere Speicherzuweisung kann sein, der Kernel bekommt die Daten in vollem Umfang auf einmal, ohne Neuzuweisung. Es stellt sich heraus, dass dies schneller ist. Aber für einige Aufgaben kann es langsamer sein, wenn die Kernel-Berechnungen ressourcenintensiv sind.
Vielleicht.
Zwei Vektoren mit je 4 Elementen werden parallelisiert. Vektoren inp (Ausgangsdaten) und Gewicht (Gewichte). Jeweils vier Elemente wurden in die Vektoren geschrieben und dann in dot multipliziert
D.h. durch die sequentielle Multiplikation kommt es zu einer Erhöhung? Immerhin werden zwei Vektoren parallelisiert, wobei in jedem Vektor 4 (bedingte) Multiplikationen sequentiell durchgeführt werden?
D.h. durch die sequentielle Multiplikation kommt es zu einer Erhöhung? Immerhin werden zwei Vektoren parallelisiert, wobei in jedem Vektor 4 (bedingte) Multiplikationen sequentiell durchgeführt werden?
Die Verwendung von Vektoroperationen ermöglicht es Ihnen, das Produkt von 4 Elementen parallel statt sequentiell durchzuführen. Sehen Sie sich das Video https://ru.coursera.org/lecture/parallelnoye-programmirovaniye/4-1-chto-takoie-viektorizatsiia-i-zachiem-ona-nuzhna-f8lh3 an. Es geht zwar um OpenMP, aber die Bedeutung ist dieselbe.