Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29393 Discussions

Coarray: Image Control Statement question

OP1
New Contributor III
557 Views

Ignoring the fact that my previous thread on coarrays is seemingly being ignored (grrr...) I have the following question regarding a comment found in the (meager) Intel documentation on coarrays:

"Image Control Statements" [...] "During an execution of a statement that invokes more than one procedure, at most one invocation can cause execution of an image control statement other than CRITICAL or END CRITICAL."

Can somebody help shed a light on this and what it means, and possibly an example of what is described as not being legit? As an aside, yes coarrays are pretty cool and will be even cooler when features like teams and events will be implemented (the faster the better!), but the documentation, albeit written in English, sounds like some kind of weird familiar-and-yet-totally-incomprehensible language. More relevant examples please!

Thanks,
Olivier

0 Kudos
1 Reply
Steven_L_Intel1
Employee
557 Views

An image control statement is a "statement that affects the execution ordering between images". An example is SYNC. The text you cite is adapted from the Fortran standard. It means that if you do something like this:

X = F1(Y) + F2(Y)

where F1 and F2 are functions, only one of these can execute an "image control statement" (except that both may have a critical section).

Our documentation is not intended to teach you the language - there are a number of good tutorial books out there which do that. See Doctor Fortran in "It's a Modern Fortran World" for discussion of some of these.

0 Kudos
Reply