- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
Hi.
I want to get a lot of samples of IPC during the program execution. The program is sequential and lasts for a few seconds. The ideal is to collect samples every millisecond or every million retired instructions.
Command line, I do
./pcm.x 0.001 -csv=resul.txt "-- ./program"
but I don't know to finish sampling when program ends.
I think that it is better if the samples are taken into the program, but in this case I don't know to indicate the sampling period.
Thanks
JL
Enlace copiado
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
J
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
you have to remove the "
./pcm.x 0.001 -csv=resul.txt -- ./program
the PCM overhead of collecting samples every ms may be too large. I would recommend to use >= 10 ms sampling period.
Thanks,
Roman
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
How about starting pcm in the background and then sending a signal (with "kill") to stop it?
Please note that you are truely pushing the limits with pcm measurements each millisecond. For larger systems, this is definitely too short.
Kind regards
Thomas
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
Thanks,
I will adjust the period.
Next question: When using the option -csv, I obtain several IPC values (I
suppose that they are associated to the different cores), even if I use
"taskset" for assigning the program to a given core.
If I don't use the option -csv, the results offer something like this
Core (SKT) | EXEC | IPC | FREQ | AFREQ | L3MISS | L2MISS | L3HIT | L2HIT | L3MPI | L2MPI | TEMP
....
.....
-------------------------------------------------------------------------------------------------
SKT 0 0.08 1.32 0.06 0.96 197 K 572 K 0.66 0.34 0.00 0.00 50
SKT 1 0.00 0.31 0.00 0.47 20 K 36 K 0.45 0.10 0.01 0.02 58
-------------------------------------------------------------------------------------------------
TOTAL * 0.04 1.31 0.03 0.95 217 K 609 K 0.64 0.33 0.00 0.00 N/A
What value should I take?
I have also seen the options -nc and -ns of pcm.x command. Could I use to achieve my
goal?
Thanks
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
Hi Jose,
PCM collects statistics for all cores in the system. It does not restrict collection to the cores you have specified in the "taskset". PCM will display statistics (on the specified core) from your program and other programs that had been scheduled by the OS on this core. If you want statistics from your program only you need to use a different tool (Linux perf for example) that supports such functionality.
Best regards,
Roman
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
Hi Roman,
I will try it with Linux perf.
Thanks again.
Best regards,
Jose L.
- Suscribirse a un feed RSS
- Marcar tema como nuevo
- Marcar tema como leído
- Flotar este Tema para el usuario actual
- Favorito
- Suscribir
- Página de impresión sencilla