Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Andreas_Klaedtke
Beginner
81 Views

Does the -ipp compiler switch define something?

If I use the -ipp switch with the compiler (icpc), does it define something that I can use in an #ifdef statement?
0 Kudos
5 Replies
TimP
Black Belt
81 Views

You could set -# so as to see the list of pre-defined macros. If there's nothing there, you could check for the header redefinition of functions of interest to you.
Dale_S_Intel
Employee
81 Views

icc -help says:
-ipp[=]
link some or all of the Intel Integrated Performance Primitives (Intel IPP) libraries and bring in the associated headers
common - link using the main libraries set. This is the default value when -ipp is specified
crypto - link using the main libraries set and the crypto library
Dale
Brandon_H_Intel
Employee
81 Views

I think we could consider a feature request, but I'm not sure I really see any value since you can use your own defined macro.

icc -ipp -D USING_IPP

and then in your code

#ifdef USING_IPP
// IPP code
#endif
Dale_S_Intel
Employee
81 Views

Can you say a little more about the problem you're trying to solve? E.g., do you want to conditionally include ipp.h or a different .h file depending on whether the switch is used? Or conditionally call one function or another depending on the presence or absence of ipp? This will help us understand if there's a better solution or make a case for adding something in the compiler to help you.
Thanks!
Dale
Andreas_Klaedtke
Beginner
81 Views

Dale,

The reason is exactly as you say: "Conditionally call one function (or include a header file) or another depending on the presence or absence of ipp".
I am dealing with code that has to run on different architectures. On some of them, the IPP might not be available. So I have to have code that uses the IPP and code that can work around this (by using different libraries).

I agree that I can use a define that I create myself to select the code branches. I just wondered if there is already such a define which I could use.

So, I do not think that it is critical to me to have such a define. It would be nice though :-)
Reply