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 sollte sich auch die Architektur der Berechnungen ansehen.
Dmitriy Gizlyk: 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.
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.
Vielen Dank für die Reihe von Artikeln, interessant und informativ. Aber wie das Netzwerk zu trainieren, etwas, das ich nicht bekommen. Ich habe es bereits mehrere Male auf dem EURUSD-Chart ausgeführt. Die Vorhersage wächst und beginnt dann zu fallen. Hat jemand das Netzwerk bereits trainiert?
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.
Video created by Национальный исследовательский Томский государственный университет for the course "Введение в параллельное программирование с использованием OpenMP и MPI". Приветствуем вас на четвертой неделе курса! На этой недели мы разберемся ...
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.