Debugging in Threading-Bausteinen

Ich möchte Bausteine mit Tasks einfädeln. Aber wie macht man das Debuggen in der Praxis?

Im Allgemeinen ist die Druckmethode eine solide Technik zum Debuggen von Programmen. Nach meiner Erfahrung mit der MPI-Parallelisierung besteht die richtige Art der Protokollierung darin, dass jeder Thread seine Debug-Informationen in einer eigenen Datei ausgibt (z. B. "debug_irank" mit dem Rang in der MPI_COMM_WORLD), damit die logischen Fehler gefunden werden können.

Wie kann mit TBB etwas Ähnliches erreicht werden? Es ist nicht klar, wie auf die Thread-Nummer im Thread-Pool zugegriffen werden soll, da dies offensichtlich etwas internes für tbb ist.

Alternativ könnte man einen zusätzlichen Index hinzufügen, der den Rang angibt, wenn eine Aufgabe generiert wird, aber dies macht den Code ziemlich kompliziert, da sich das gesamte Programm darum kümmern muss.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage