- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am running Advisor on a C program under Ubuntu 18.04. The code is a shared object called from a wrapper.
I inserted annotations into the code as shown in the attached file, but when I run the MAP (memory access patterns) report, I get this message: "Warning: No SITE annotations were encountered, so no stride/alignment data can be reported."
The command string is:
advixe-cl --collect=map --enable-cache-simulation --project-dir=/usr/test/Complex_If/091220 ./C_Wrapper_for_C_64-Complex_If.exe
The most plausible explanation I can find is from this Intel forum question in 2016: "One possible reason is the loop is not executing. Or executing so quickly that there are no samples in the loop. I would first run an Advisor survey and then run a Trip count to verify if the loop is executing and how many times it is iterating."
https://community.intel.com/t5/Analyzers/No-SITE-annotations-were-encountered/td-p/1044128.
So I re-ran the test with 50 million iterations (tripcounts), but I still get the same message when Advisor completes the test run.
Another explanation may be that this program is a shared object called from a C wrapper. The command string shown above is invoked on the wrapper from which the shared object is called.
The annotated loop part of the code is in the attached file. It's compiled with
sudo gcc -shared -fPIC -ldl -ggdb -o Complex_If.so Complex_If.c.
My questions are:
1. Is the problem related to the length of the run? It seems like 50 million iterations should be enough.
2. Is the problem due to the fact that the annotations are in a shared object? Does Advisor have a problem with annotations in shared objects?
Thanks for your help.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
It looks like there is a problem with support of shared objects + wrapper built by gcc or clang.
We are working on it.
After investigation problem from this post https://community.intel.com/t5/Analyzers/Advisor-error-messages-with-annotations/m-p/1199537 I found the workaround until we fix issue (rebuild wrapper with Intel Compiler: icc -fPIC -ldl -g -o C_Wrapper_for_C_64-Complex_If.exe C_Wrapper_for_C_64-Complex_If.c)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, Sergey,
Thanks for your reply. I look forward to the fix. Will you update this post when it's finished?
Advisor is the best tool I have found for cache and memory analysis, and I want to use it extensively in my work.
Thanks.
Brian Jones
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I received notice from Intel that this ticket would be closed. How will you notify that Advisor has been updated to support shared objects created with Clang and GCC, as described by Sergey in his response above? The fix is critical for my work. Thank you.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Brian,
Apologies for the confusion of this case getting closed.
We will be updating you about the fix when it is going to be available.
Best regards,
Jyotsna
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Brian,
There will not be a fix available until Advisor starts supporting CLang officially. Can you please avoid using source annotations and mark the loops of interest using check box from survey analysis.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
we will stop monitoring this thread. Hope you were able to follow the workaround. Thank you.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page