This shows you the differences between two versions of the page.
asc:laboratoare:10 [2024/05/15 15:41] emil.slusanschi |
asc:laboratoare:10 [2025/05/14 17:02] (current) alexandru.bala [1. Valgrind / KCachegrind] |
||
---|---|---|---|
Line 18: | Line 18: | ||
* **callgrind**. It is an extension to cachegrind and provides all the information that the latter offers, plus extra information regarding call graphs. In order to view the results, a visualization tool called KCachegrind [3] can be used; | * **callgrind**. It is an extension to cachegrind and provides all the information that the latter offers, plus extra information regarding call graphs. In order to view the results, a visualization tool called KCachegrind [3] can be used; | ||
* **massif**. It is a heap profiler and it performs detailed heap profiling by taking regular snapshots of a program's heap and produces a graph showing heap usage over time, including information about which parts of the program are responsible for the most memory allocations. Massif runs programs about 20x slower than normal; | * **massif**. It is a heap profiler and it performs detailed heap profiling by taking regular snapshots of a program's heap and produces a graph showing heap usage over time, including information about which parts of the program are responsible for the most memory allocations. Massif runs programs about 20x slower than normal; | ||
- | * **hellgrind** and drd. These tools are thread debuggers which find data races in multithreaded programs. They look for memory locations which are accessed by more than one (POSIX) pthread, but for which no consistently used (pthread_mutex_) lock can be found; | + | * **helgrind** and drd. These tools are thread debuggers which find data races in multithreaded programs. They look for memory locations which are accessed by more than one (POSIX) pthread, but for which no consistently used (pthread_mutex_) lock can be found; |
* other 3rd party tools can be found here [4]. | * other 3rd party tools can be found here [4]. | ||
Line 40: | Line 40: | ||
{{ :asc:lab6:image09.png?300 |}} | {{ :asc:lab6:image09.png?300 |}} | ||
- | Pentru a rula si observa functionalitatile acestei unelte urmariti urmatoarea secventa de pasi si indicatiile: | + | To run and observe the functionalities of this tool, follow the following sequence of steps and instructions: |
<code sh> | <code sh> | ||
wget -O tachyon_vtune_amp_xe.tgz http://ocw.cs.pub.ro/courses/_media/asc/lab6/tachyon_vtune_amp_xe.tgz | wget -O tachyon_vtune_amp_xe.tgz http://ocw.cs.pub.ro/courses/_media/asc/lab6/tachyon_vtune_amp_xe.tgz | ||
Line 109: | Line 109: | ||
* ''make openmp_task0'' pentru versiunea paralelizata | * ''make openmp_task0'' pentru versiunea paralelizata | ||
* <code sh> | * <code sh> | ||
- | [@fep ]$ ssrun --time 00:05:00 --x11 -p haswell --pty /bin/bash | + | [@fep ]$ srun --time 00:05:00 --x11 -p haswell --pty /bin/bash |
[@haswell-wnxx ~]$ apptainer run docker://gitlab.cs.pub.ro:5050/asc/asc-public/c-labs:1.3.1 /bin/bash | [@haswell-wnxx ~]$ apptainer run docker://gitlab.cs.pub.ro:5050/asc/asc-public/c-labs:1.3.1 /bin/bash | ||
Apptainer> make task0 | Apptainer> make task0 |