Lahey/GNU Fortran

-[n]parallel [number]

Parallelize loops to run in specified number of threads

Compile only. Default: -nparallel

GFortran options: -funroll-loops, -floop-parallelize-all, -ftree-parallelize-loops

Specify -parallel to instruct the compiler to use data dependence analysis to identify loops that can be parallelized and to split their iteration space to run in number threads in order to take advantage of running multiple threads on a multiprocessor. If number is missing, the number of threads is set to the number of logical processors detected on the PC running the compilation.

Specifying -parallel may cause  faster or slower execution, as the optimization is only profitable on multiprocessor machines and for loops that are CPU-intensive, rather than constrained by memory bandwidth, etc. To be beneficial when running on multiple threads, the execution time advantages must exceed the extra O.S. overhead of creating and managing the additional threads.

If number is set to a value higher than the number of supported logical processors on the executing PC, it will run on only one thread.