Intel Fortran

自動並列化がなかなか賢い。

-fast -par-threshold0 -parallel -par-report3

並列化のしきい値を0に下げ(default:100)、レポートレベル最大3(default:1)にしてチェック。


以下、man ifortより。

       -vec-threshold[n]

              Sets a threshold for the vectorization of loops.

              Architectures: IA-32, Intel® 64 architectures

              Default:

              -vec-threshold100 Loops  get vectorized only if profitable
                                vector-level   parallel   execution   is
                                almost certain. This is also the default
                                if you do not specify  n.

              Description:

              This option sets a  threshold  for  the  vectorization  of
              loops  based on the probability of profitable execution of
              the vectorized loop in parallel.

              This option is useful for  loops  whose  computation  work
              volume cannot be determined at compile-time. The threshold
              is usually relevant when the loop trip count is unknown at
              compile-time.

              The compiler applies a heuristic that tries to balance the
              overhead of creating multiple threads versus the amount of
              work available to be shared amongst the threads.