2016-07-21 13 views
3

Weiß jemand, ob die Tensorflow kompilierte ausführbare Dateien here AVX-Unterstützung enthalten? Ich habe diese kompilierte Version von Tensorflow auf Google Compute Engine ausgeführt und es ist langsam. Hund langsam. Kalte Melasse langsam. LA Verkehr langsam. This article sagt Compiling mit AVX-Unterstützung erheblich verbessert die Leistung auf Google Compute Engine, aber wenn ich den Kompiliervorgang auf dieser Website folgen, schlägt es fehl. Ich frage mich, ob AVX bereits in den ausführbaren Dateien enthalten ist.Tensorflow AVX Unterstützung

+2

abmontieren es mit so etwas wie 'objdump -d' und sucht'% ymm'. Wenn Sie diese Zeichenfolge als Teil eines Registernamens sehen, verwendet der Code AVX. (Die Intel-Syntax verwendet '%' Präfixe nicht, um Registernamen von Symbolnamen zu trennen, suchen Sie also einfach nach ymm0 bis ymm15). Natürlich werden AVX-128-Bit-Befehle wie 'vmulps% xmm0,% xmm1,% xmm2' nicht erkannt, sodass Sie auch nach' vmulps' suchen können. Die führenden 'v'- und (gewöhnlich) 3-Operanden bedeuten, dass es sich um eine AVX-Instruktion anstelle von Legacy-SSE handelt. –

Antwort

1

Nein, tensorflow Standardverteilungen without CPU extensions, wie SSE4.1- gebaut, SSE4.2, AVX, AVX2, FMA, usw., weil diese Builds (zB diejenigen aus pip install tensorflow) dazu bestimmt sind, mit so vielen CPUs kompatibel zu sein als möglich. Ein anderes Argument ist, dass die CPU selbst bei diesen Erweiterungen viel langsamer ist als eine GPU, und es wird erwartet, dass mittel- und großmaßstäbliches maschinelles Lernen auf einer GPU durchgeführt wird. Siehe auch eine related discussion here.

Der Artikel hat Recht, AVX und FMA Anweisungen erheblich (bis zu 300%!) Beschleunigung der linearen Algebra Berechnung, nämlich Skalarprodukt, Matrix multiplizieren, Faltung, etc. Wenn Sie es nutzen wollen, werde ich haben Durchlaufen des Kompilierens des Tensorflusses aus Quellen, was in this question diskutiert wird.

0

Dies ist die einfachste Methode. Nur ein Schritt.

Es ist einfach und hat erhebliche Auswirkungen auf die Geschwindigkeit. Kann das Training dreimal schneller machen.

Siehe custom builds of tensorflow