I'm using Intel SDE in Linux, version 7.8.0 and I wish to count some of the floating point instructions executed by the application. I'm using -mix tool to get the number of instructions.
Is there any way to control Intel SDE, some events to start and stop the counting? I would like to instrument just a part of the application, but I don't have an access to applications' source code.
Thanks and regards,
- Intel® Advanced Vector Extensions (Intel® AVX)
- Intel® Streaming SIMD Extensions
- Parallel Computing
SDE provides a few ways to control the "region of interest". There are a few knobs for defining the starting point and the end point of the slice.
The knobs -start-address and -stop-address get as a parameter an address or a function name with an optional offset within the function like in -start-address main and -stop-address main+0x65.
The knobs -skip and -length are based on the instruction count from the start of the run as in -skip 1000000 -length 172000.
There are a few more options including embedding markers inside the application to get more precise control and specifying repeat count or thread id.
Thanks for the information. I was planning to instrument MPI parallel application and use one library for instrumentation on MPI functions. So, I was hoping there is a way to integrate those two, to maybe control SDE via some commands on certain MPI calls. I guess I can try to do it with -start-address and -stop-address. Is there any SDE manual that I can look at?
We didn't post documentation describing this feature. There is some documentation posted in the SDE main page.
I'll try to improve the documentation we have in respect to this feature.
This documentation on the SDE main page is enough, just it would be useful to have some more examples reagarding the specific knobs.
Just as an idea, it would be nice to have a bit more freedom to control SDE via some kind of high level API.