Intel® Fortran Compiler 17.0 Developer Guide and Reference
Enables the coarray feature.
Linux: | -coarray[=keyword] |
macOS: | None |
Windows: | /Qcoarray[:keyword] |
keyword |
Specifies the memory system where the coarrays will be implemented. Possible values are:
|
OFF |
Coarrays are not enabled without specifying this option. |
This option enables the coarray feature of the Fortran 2008 Standard. It enables any coarray syntax in your program. If this option is not specified, coarray syntax is rejected.
It also tells the driver to link against appropriate libraries, and to create the appropriate executables.
Only one keyword can be in effect. If you specify more than one keyword, the last one specified takes precedence. However, if keyword single is specified anywhere on the command line, it takes precedence.
On Intel® MIC Architecture, this option is only available on Linux* systems.
You can specify option [Q]coarray-num-images to specify the default number of images that can be used to run a coarray executable. If you do not specify that option, you get the number of execution units on the current system.
You can specify the [Q]coarray-config-file option to specify the name of a Message Passing Interface (MPI) configuration file.
Options [Q]coarray-num-images and [Q]coarray-config-file are valid for all keyword values.
Visual Studio: Language > Enable Coarrays
Eclipse: None
Xcode: None
None
The following command runs a coarray program on shared memory using n images:
/Qcoarray /Qcoarray-num-images:n ! Windows systems
-coarray -coarray-num-images=n ! Linux systems
The following command runs a coarray program on distributed memory using n images:
/Qcoarray:distributed /Qcoarray-num-images:n ! Windows systems
-coarray=distributed -coarray-num-images=n ! Linux systems
The following command runs a coarray program on shared memory using the MPI configuration file specified by filename:
/Qcoarray:shared /Qcoarray-config-file:filename ! Windows systems
-coarray=shared -coarray-config-file=filename ! Linux systems
The following commands illustrate precedence:
Linux* systems:
-coarray=coprocessor -coarray=shared ! shared takes precedence (last one specified)
-coarray=single –coarray=shared ! single takes precedence (single always takes precedence)
Windows* systems:
/Qcoarray:distributed /Qcoarray:shared ! shared takes precedence (last one specified)
/Qcoarray:single /Qcoarray:shared ! single takes precedence (single always takes precedence)