2017-11-24 4 views
1

Ich habe mein einfaches Deep-Learning-Modell gemacht. Ich habe jetzt nur CPU auf meinem Desktop. ABER ich muss die Trainingszeit des Modells in GPU Einstellung schätzen. Ich brauche keine genaue Trainingszeitschätzung. Ungefähre Zeit ist in Ordnung für mich. Gibt es dafür eine Methode oder eine Metrik? Einer meiner Gedanken ist der Vergleich von GFLOPs, aber es ist auch Unsinn, wenn ich berechnete.Gibt es eine Möglichkeit zur Berechnung der Rechenzeit von GPU mit CPU?

ex. cpu: intel e5-2686 v4, gpu: nvidia k80

+0

kurz - nein, es ist nicht möglich. GPUs sind keine "schnelleren CPUs", das sind unterschiedliche Architekturen, die bestimmte Operationen 20x beschleunigen, während sie anderen nichts anhaben; Speicherkopieren kann die Dinge sogar noch langsamer machen. Es gibt einige Daumenregeln, aber keine "richtige" Vorgehensweise. – lejlot

Antwort

1

Sie können einen sehr naiven Ansatz der Schätzung der Geschwindigkeit verwenden, indem Sie den Grad der Parallelität in Ihrem Datensatz annähern (zum Beispiel, wenn es lächerlich parallel ist, könnte dies gleich sein auf die Anzahl der Dimensionen in Ihrer Daten-Set), am besten Fall Implementierung der Parallelität mit Null-Overhead von tatsächlich die Übertragung der Daten vorausgesetzt, wird die Mathematik dann einfach:

Speedup = Anzahl der physischen Arbeits Elemente auf GPU (in der Regel # von CUDA-Kernen in typische Nvidia-Implementierung) dividiert durch # der physischen Arbeitselemente auf CPU (# von physischen Kernen).

Es gibt auch Unterschiede, die für die nicht berücksichtigt werden, haben mit verschiedenen Hardware-Architekturen zu tun (ISR, Design, etc.) Diese Art von Berechnungen stark von Realleistung variiert je nach Ihrer Einschätzung der Modelle Parallelität, Implementierung von Parallelität und Hardware.

Verwandte Themen