Problems with additional-annotations.h

Problems with additional-annotations.h

I use VS 2012 as my build environment on Win 7.However my VS never recogonizes the annotations header file,though it loads it.Can anybody suggest a workaround for this issue?

Harsh Prateek,CEO and Owner,Mamba International
13 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

I have no idea what "the annotations header file" is.

This forum is for the discussion of Intel Cilk Plus issues.  I suspect you've posted the question in the wrong place.

    - Barry

the header file is used in parallel studio to mark areas where we want to bring in parallelism.

Harsh Prateek,CEO and Owner,Mamba International

Are you trying to use Intel Advisor?

   - Barry

Yes.I am basically analysing the improvement I am achieving by using Cilk.

Harsh Prateek,CEO and Owner,Mamba International

Hello Harsh,

Sorry for the inconvenience.

Would you be able to create a small test case and share it with me? You can send it to me at ravi DOT vemuri AT intel DOT com

In the meanwhile, please check the following:

  • Mark the project with the annotations as "Set as Startup Project" to ensure that the annotations will be recognized
  • Try reproducing the problem with the sample projects available with the Intel(R) Advisor XE 2013

Can you also please clarify what you mean by the following: "However my VS never recogonizes the annotations header file,though it loads it"? I am assuming that you mean that the annotations are not detected by Intel(R) Advisor XE product. If you mean something else, please clarify.

Hope it helps.

Ravi

My VS environment loads the header file but does not recononize ANNOTATE_SITE_BEGIN() .

Harsh Prateek,CEO and Owner,Mamba International

Dear Harsh,

How did you discover that VS "doesn't recognize" ANNOTATE_SITE_BEGIN? Or in other words, what was exact indication of given problem?  I could imagine following cases:

  1. After you added ANNOTATE_SITE_BEGIN(site_id) to some foo.cpp and also added advisor-annotate.h to your project,  MSVS compiler (which compiler version do you use?) still generates an error message like given one: error : identifier "ANNOTATE_SITE_BEGIN" is undefined
  2. After adding advisor-annotate.h you've got some error messages like "redefinition; different basic types" or some "symbol conflicts" (this rare case is covered here: http://software.intel.com/en-us/node/432358)
  3. When running Advisor Suitability or Advisor Correctness analysis - in Advisor' "result window" you see a warning message like following: "Your configuration might be incomplete... Insert annotations" or "No annotations found".

Please let us know if you took in mind one of 3 cases enumerated above (if yes, which one) or if you took in mind something else! Please note, Visual Studio itself doesn't recognize annotations. This is Advisor XE Visual Studio plug-in job to do some auto-detection stuff, and it's not exactly clear from your message ( "VS doesn't recognize ANNOTATE_SITE_BEGIN") what specifically "went wrong" in your environment.

It does not recononize ANNOTATE_SITE_BEGIN....asks me to declare it.

Harsh Prateek,CEO and Owner,Mamba International

Harsh, are you sure that you've added

     #include "advisor-annotate.h"

in the same compilation unit (says the same .cpp file) as the one where you also added ANNOTATE_SITE_BEGIN?

I just noticed that you've used "additional-annotate.h" header file name in forum topic caption. But there is no such "additional-annotate.h" header files in existence. So, my suggestion just in case you really made this misprint, - don't use wrong "additional-annotate.h" header filename, but use "advisor-annotate.h" instead.

 

In general most common way to annotate loop in C++ code (as exposed via "Annotations Example" or "Annotation Wizard" features), is:

#include "advisor-annotate.h"// Add to each module that contains Intel Advisor XE annotations

// Don't forget to add reference to advisor-annotate.h (/I"%ADVISOR_XE_2013_DIR%"\include or specify absolute path instead) in your Build Settings or makefile

// Begin a parallel code region (parallel site)

ANNOTATE_SITE_BEGIN( MySite1 ); // Place before the loop control statement
// for (...) or other loop control statement
    ANNOTATE_ITERATION_TASK( MyTask1 ); // Place at the start of loop body. This iterative-task annotation identifies an entire body as a task. 
    // loop body
ANNOTATE_SITE_END(); // End the parallel code region, after task execution completes

yes...im pretty sure they are in the same file...

Harsh Prateek,CEO and Owner,Mamba International

Can you make sure that you are including "advisor-annotate.h" and not "additional-annotate.h"

 

If that isn't the problem, could you attach the exact compilation output?

 

Thanks,

 

 

I performed a reinstall and thinga appear in order now. Thank you everyone!
 

Harsh Prateek,CEO and Owner,Mamba International

Leave a Comment

Please sign in to add a comment. Not a member? Join today