opt-mem-bandwidth, Qopt-mem-bandwidth

Enables performance tuning and heuristics that control memory bandwidth use among processors.

IDE Equivalent

None

Architectures

IA-64 architecture

Syntax

Linux:

-opt-mem-bandwidthn

Mac OS X:

None

Windows:

/Qopt-mem-bandwidthn

Arguments

n

Is the level of optimizing for memory bandwidth usage. Possible values are:

0

Enables a set of performance tuning and heuristics in compiler optimizations that is optimal for serial code.

1

Enables a set of performance tuning and heuristics in compiler optimizations for multithreaded code generated by the compiler.

2

Enables a set of performance tuning and heuristics in compiler optimizations for parallel code such as Windows Threads, pthreads, and MPI code, besides multithreaded code generated by the compiler.

Default

-opt-mem-bandwidth0
or/Qopt-mem-bandwidth0

For serial (non-parallel) compilation, a set of performance tuning and heuristics in compiler optimizations is enabled that is optimal for serial code.

-opt-mem-bandwidth1
or/Qopt-mem-bandwidth1

If you specify compiler option -parallel (Linux) or /Qparallel (Windows), or -openmp (Linux) or /Qopenmp (Windows), a set of performance tuning and heuristics in compiler optimizations for multithreaded code generated by the compiler is enabled.

Description

This option enables performance tuning and heuristics that control memory bandwidth use among processors. It allows the compiler to be less aggressive with optimizations that might consume more bandwidth, so that the bandwidth can be well-shared among multiple processors for a parallel program.

For values of n greater than 0, the option tells the compiler to enable a set of performance tuning and heuristics in compiler optimizations such as prefetching, privatization, aggressive code motion, and so forth, for reducing memory bandwidth pressure and balancing memory bandwidth traffic among threads.

This option can improve performance for threaded or parallel applications on multiprocessors or multicore processors, especially when the applications are bounded by memory bandwidth.

Alternate Options

None

See Also