Intel® Moderncode for Parallel Architectures
Support for developing parallel programming applications on Intel® Architecture.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!

OpenMP in pure procedures

Stanislav_Fyodorov
56 Views

Hello,

According OpenMP 2.5 specification we can't use OpenMP in pure procedures. Why so? I mean, what if I what use PURE procedures also for compiler-checking of purity of my code (not only for parallelization)?

0 Kudos
1 Reply
jimdempseyatthecove
Black Belt
56 Views

Have you considered using conditional compilation?

When _OPENMP not defined compile the affected routines with PURE

When _OPENMP defined compile the affected routines without PURE

If you use the Fortran PreProcessor you could define a macro as follows

#ifdef _OPENMP
#define TEST_PURE
#else
#define TEST_PURE pure
#endif

Then use as

TEST_PURE function foo(a,b,c)
...

Jim Dempsey


Reply