Wie kann man feststellen, ob OpenMP funktioniert?

Ich versuche, LIBSVM im parallelen Modus auszuführen, meine Frage ist jedoch in OpenMP im Allgemeinen. GemäßLIBSVM FAQIch habe den Code mit # Pragma-Aufrufen geändert, um OpenMP zu verwenden. Ich habe auch das Makefile (für un * x) geändert, indem ich ein -fopenmp-Argument hinzugefügt habe, so dass es wie folgt aussieht:

<code>CFLAGS = -Wall -Wconversion -O3 -fPIC -fopenmp
</code>

Der Code lässt sich gut kompilieren. Ich überprüfe (da es nicht mein PC ist), ob OpenMP installiert ist durch:

<code>/sbin/ldconfig -p | grep gomp
</code>

und stellen Sie sicher, dass es -wahrscheinlich- installiert ist:

<code> libgomp.so.1 (libc6,x86-64) => /usr/lib64/libgomp.so.1
 libgomp.so.1 (libc6) => /usr/lib/libgomp.so.1
</code>

Jetzt; Wenn ich das Programm starte, sehe ich keine Geschwindigkeitsverbesserungen. Auch wenn ich mit "top" überprüfe, dass der Prozess höchstens% 100 CPU verwendet (es gibt 8 Kerne), gibt es auch keinen CPU-Engpass (nur ein weiterer Benutzer mit% 100 CPU-Auslastung), hatte ich mehr als erwartet % 100 (oder ein anderer Indikator), für den mehrere Kerne verwendet werden.

Gibt es eine Möglichkeit zu überprüfen, ob es mit mehreren Kernen funktioniert?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage