Closed brajskular closed 1 year ago
@brajskular, Can you also provide the compiler flags you use to compile the sources?
@alenks There are two compiler flags : -std=c++11 and -pthread
@brajskular The application spawns more than eight threads. Provide the right number of threads with -n
option and it works, although in this example, the application is very small, and it eventually fails (at SimPoint) as there is only one region after profiling.
@alenks Ahh this works, thank you! I see this is the total number of threads in the program, and since I plan on running applications that create and destroy threads, it also means -n changes with the dataset size.
I have been profiling a program which uses the C++ threads library. The program spawns threads which perform matrix multiplication, which is protected by a mutex. Parent threads spawn children which perform the multiplication. Synchronization is achieved through the use of join().
PFA the code for the program and the cfg file for the looppoint run. The command to compile code is: g++ -std=c++11 -pthread contention.cpp -o contention.out
The looppoint command is: run-looppoint.py -c contention.1.cfg -n 8 --force
The fat pinball seems to be generated successfully, but the pin tool in the SDE kit crashes during the BBV generation phase. The error is: In: Thread: 8 PID: 3185 SYSTEM TID: 3195 Exception code: PRIVILEGED_INS Exception Class: 3 Exception address: 0x7fc34a122c5a C: [tid:3195] Tool (or Pin) caused signal 11 at PC 0x7fc34a122c5a Segmentation fault (core dumped)
Thank you for looppoint, its a super useful tool!
contention.tar.gz