Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
29284 Discussions

Contained procedure undefined addreses of container scope variables in parallel code

Andrew_Smith
Valued Contributor I
420 Views
Using 12.1 update 8, I have an internal procedure issue when using OpenMP.

The contained procedure is passed as an argument to a subroutine which calls the procedure via this argument. The OpenMP threads all pass into the container and so have their own copies of the local variables in the container.

The contained procedure got undefined addresses for local variables in the scope of its container. I have only seen this happen once when I was running in X64 mode with full debug settings. Most of the time it appears to work correctly, so I would probably have a hard time reproducing it.
0 Kudos
1 Reply
Steven_L_Intel1
Employee
420 Views
Can you show an example that has the structure you're describing, even if it doesn't show the problem? How many arguments does this contained procedure have? Are any of the local variables declared threadprivate?

We have a known bug when calling a passed contained procedure that has more than three arguments on x64 only. This will be fixed in Update 9, coming out very soon. You can see a previous report of this bug here. But this bug is not intermittent so it may not be your issue.
0 Kudos
Reply