[pythran] Bug report - "# omp..." is silently ignored (whilst "#omp..." is good)

  • From: Ian Ozsvald <ian@xxxxxxxxxxxxxx>
  • To: pythran <pythran@xxxxxxxxxxxxx>
  • Date: Fri, 14 Mar 2014 19:10:48 +0000

I've just discovered the bug that I had at PyDataLondon (phew, I'm not
mad). I couldn't get an  omp reduction to work - it looks like I
ignored the specification and prepended a whitespace which then causes
the openmp line to be silently ignored.

In the midst of my critical function if I have:
#omp parallel for reduction(+:nbr_trials_in_unit_circle)
then my runtime is:
0.118036031723 seconds  # parallel!
but if I have:
# omp parallel for reduction(+:nbr_trials_in_unit_circle)
then my runtime is:
0.221085786819 seconds  # single threaded

I'll make a feature suggestion - could pythran (perhaps with -v)
output the number of openmp declarations it has found? This would have
helped me with debugging the issue.

As an intermediate step for now - maybe edit the docs to note the
exact syntax that's required, noting that extra whitespace will cause
the omp declaration to be silently ignored?

For future reference - what's the easiest way to debug this problem? I
see (now) that if I use the -E flag I can investigate the generated
C++ and indeed I see the omp declaration appearing/not appearing, so I
can definitely verify it this way. Is there any other approach?

Cheers, i.

-- 
Ian Ozsvald (A.I. researcher)
ian@xxxxxxxxxxxxxx

http://IanOzsvald.com
http://MorConsulting.com/
http://Annotate.IO
http://SocialTiesApp.com/
http://TheScreencastingHandbook.com
http://FivePoundApp.com/
http://twitter.com/IanOzsvald
http://ShowMeDo.com

Other related posts: