2017-04-09 3 views
4

und Dank im Voraus für Ihre Aufmerksamkeit,Re-build Tensorflow mit gewünschten Optimierungsflags

Ich installierte tensorflow nur (auf eine neue Maschine mit Ubuntu 16.04 und CUDA 8.0 bereits installiert ist) mit den folgenden procedure:

Anfangs habe ich --copt=-march=native verwendet. erhielt ich die Nachricht

W tensorflow/core/platform/cpu_feature_guard.cc: 45] Die TensorFlow Bibliothek nicht SSE3 Anweisungen kompiliert wurde zu verwenden, aber diese sind auf Ihrem Rechner verfügbar und könnten CPU Berechnungen beschleunigen.

W tensorfluss/core/plattform/cpu_feature_guard.cc: 45] Die TensorFlow-Bibliothek wurde nicht kompiliert, um SSE4.1-Anweisungen zu verwenden, aber diese sind auf Ihrem Computer verfügbar und könnten CPU-Berechnungen beschleunigen.

W tensorfluss/core/plattform/cpu_feature_guard.cc: 45] Die TensorFlow-Bibliothek wurde nicht für die Verwendung von SSE4.2-Anweisungen kompiliert, aber diese sind auf Ihrem Computer verfügbar und könnten CPU-Berechnungen beschleunigen.

W tensorfluss/core/plattform/cpu_feature_guard.cc: 45] Die TensorFlow-Bibliothek wurde nicht für die Verwendung von AVX-Anweisungen kompiliert, aber diese sind auf Ihrem Computer verfügbar und könnten CPU-Berechnungen beschleunigen.

W tensorfluss/core/plattform/cpu_feature_guard.cc: 45] Die TensorFlow-Bibliothek wurde nicht für die Verwendung von AVX2-Anweisungen kompiliert, aber diese sind auf Ihrem Computer verfügbar und können CPU-Berechnungen beschleunigen.

W tensorfluss/core/plattform/cpu_feature_guard.cc: 45] Die TensorFlow-Bibliothek wurde nicht kompiliert, um FMA-Anweisungen zu verwenden, aber diese sind auf Ihrem Computer verfügbar und könnten CPU-Berechnungen beschleunigen.

So in einem Versuch, dieses Problem zu beheben, habe ich nach Lösungen gesucht und verwendet, um die Antwort auf die folgenden How to compile Tensorflow with SSE4.2 and AVX instructions?

durch das oben beschriebene Verfahren von nVidia Verwendung von

bazel build -c opt --copt=-mavx --copt=-mavx2 --copt=-mfma --copt=-mfpmath=both --copt=-msse4.2 --config=cuda -k //tensorflow/tools/pip_package:build_pip_package 

beginnt aber bin Erhalte immer noch die gleichen Nachrichten wie oben. Ich habe das Gefühl, ich mache einen sehr einfachen Fehler, irgendwelche Ideen?

Danke!

+0

Wenn Sie richtig konfiguriert und mit den gleichen Optimierungs-Flags erstellt und immer noch diese Warnungen sehen, könnte es Ihre CPU-Architektur sein unterstützt diese SIMD-Anweisungen nicht. Benutze 'gcc -march = native -Q --help = target' um zu sehen welche verfügbar sind – Adriano

+0

Danke Adriano. Wenn ich mich nicht irre, werden die Anweisungen, auf die sich die Warnungen beziehen, auf (mavx, mavx2, mfma, msse, msse2, msse3, msse4, msse4.1, msse4.2) unterstützt und aktiviert (https://pastebin.com/ U4S18aRQ). – Chaztikov

Antwort

4

Durch Befolgen der Anweisungen NVIDIA Sie die TensorFlow Repository einer älteren sind Zurücksetzen begehen, bevor die SIMD-Befehle Optimierung zur Verfügung gestellt wurde (1.0R):

git reset --hard 70de76e

Diese verpflichten stammt aus einer früheren Veröffentlichung Wenn dieses Feature noch nicht implementiert wurde, funktioniert es tatsächlich so, wie es soll.

Die Lösung ist die official TensorFlow documentation folgen.

Für zukünftige Situationen wird immer empfohlen, offizielle Ressourcen zu verwenden, bevor Sie nach Lösungen von Drittanbietern greifen, da diese hilfreicher sein können, die offiziellen zuverlässiger und besser gewartet werden.

Hinweis während der Konfiguration werden Sie nicht gefragt, welche CPU-Anweisungen Sie aus dem oben genannten Grund mit TF erstellen möchten, und daher können Sie nicht mit ihnen bauen.

Please specify optimization flags to use during compilation when bazel option "--config=opt" is specified [Default is -march=native]:

die offiziellen Dokumente entsprechend folgen und es wird funktionieren. Wenn Sie irgendwelche Follow-up-Fragen haben, zögern Sie nicht zu fragen, oder wenn Sie Probleme haben, öffnen Sie ein Problem auf Github :)

+0

Silly mich, vielen Dank noch einmal für Ihren ausführlichen Einblick Adriano! – Chaztikov

+0

@Chaztikov Froh zu helfen :) – Adriano

Verwandte Themen