OpenMP in pure procedures

OpenMP in pure procedures

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)?

2 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

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

Leave a Comment

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