Kann / kann Valgrind mehrere Prozessoren verwenden?

8

Gibt es eine Möglichkeit, Valgrind mehrere Prozessoren zu verwenden?

Ich führe eine Engpass-Profilerstellung mit Valgrinds Callgrind durch und bemerke ein signifikant unterschiedliches Ressourcennutzungsverhalten in meiner Anwendung, verglichen mit der Ausführung außerhalb von valgrind / callgrind.

Wenn außerhalb von valgrind ausgeführt wird, werden maximal mehrere Prozessoren ausgeführt, aber in valgrind wird nur eine ausgeführt. Das macht mich besorgt, dass meine Flaschenhälse an verschiedenen Stellen sind und dadurch meine Profilierung ungültig machen.

    
Catskul 23.03.2011, 18:39
quelle

2 Antworten

15

Laut Valgrind Docs unterstützen sie nicht mehrere Prozessoren:

  

Die Hauptsache, auf die Sie hinweisen sollten   Bezug auf Thread-Programme ist das   Ihr Programm wird das Native verwenden   Threading-Bibliothek, aber Valgrind   Serialisiert die Ausführung so, dass nur eine   (Kernel) -Thread wird gleichzeitig ausgeführt.   Dieser Ansatz vermeidet das Schreckliche   Implementierungsprobleme von   Implementierung eines wirklich Multithread   Version von Valgrind, aber es bedeutet   Diese Thread-Apps werden nur auf einem ausgeführt   CPU, auch wenn Sie einen Multiprozessor haben   oder Multicore-Maschine.

     

Valgrind plant die Threads nicht   selbst. Es stellt nur sicher, dass nur   Ein Thread läuft gleichzeitig mit a   einfaches Schließschema Das tatsächliche   Thread-Planung bleibt unter   Kontrolle des OS-Kernels. Was ist das   heißt aber, dass du das bist   Programm wird sehr unterschiedlich aussehen   Planen, wenn auf Valgrind ausgeführt wird   Es funktioniert, wenn es normal läuft. Das ist   sowohl weil Valgrind serialisiert   die Threads und weil der Code ausgeführt wird   so viel langsamer als normal.

     

Dieser Unterschied in der Planung kann   Ursache dafür, dass sich Ihr Programm verhält   anders, wenn du irgendeine Art von   Nebenläufigkeit, kritisches Rennen, Sperren,   oder ähnlich, Bugs. In diesem Fall   könnte die Verwendung der Tools in Betracht ziehen   Helgrind und / oder DRD, um sie zu verfolgen   runter.

    
bdk 23.03.2011, 19:17
quelle
-1

Sehen Sie sich an:

Ссылка

Sie haben hinzugefügt:

%Vor%

Es kann helfen.

    
Yevgeniy Kapustin 06.11.2015 07:40
quelle

Tags und Links