Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
E77790.pdf
Скачиваний:
2
Добавлен:
16.05.2024
Размер:
1.29 Mб
Скачать

3.4 Options Reference

-xtarget=

-xarch

-xchip

-xcache

 

 

 

 

pentium_pro (Obsolete)

generic

generic

generic

 

 

 

 

pentium3 (Obsolete)

generic

generic

generic

 

 

 

 

pentium4

sse2

pentium4

8/64/4:256/128/8

 

 

 

 

opteron

sse2a

opteron

64/64/2:1024/64/16

 

 

 

 

woodcrest

ssse3

core2

32/64/8:4096/64/16

 

 

 

 

barcelona (Obsolete)

amdsse4a

amdfam10

64/64/2:512/64/16

 

 

 

 

penryn

sse4_1

penryn

2/64/8:6144/64/24

 

 

 

 

nehalem

sse4_2

nehalem

32/64/8:256/64/8:

 

 

 

8192/64/16

 

 

 

 

westmere

aes

westmere

32/64/8:256/64/8:30720/64/24

 

 

 

 

sandybridge

avx

sandybridge

32/64/8/2:256/64/8/2:

 

 

 

20480/64/20/16

 

 

 

 

ivybridge

avx_i

ivybridge

32/64/8/2:256/64/8/2:

 

 

 

20480/64/20/16

 

 

 

 

haswell

avx2

haswell

32/64/8/2:256/64/8/2:

 

 

 

20480/64/20/16

 

 

 

 

broadwell

avx2_i

broadwell

32/64/8/2:256/64/8/2:

 

 

 

20480/64/20/16

 

 

 

 

skylake

avx512

skylake

32/64/8:256/64/8:20480/64/20

 

 

 

 

Compiling for 64-bit Oracle Solaris OS on 64-bit enabled x86 platform is indicated by the - m64 flag. For example, compiling with -xtarget=opteron is not necessary or sufficient. If - xtarget is specified, the -m64 option must appear after the -xtarget flag, as in:

-xtarget=opteron -m64

otherwise the compilation will be 32-bit x86.

3.4.183 -xtemp=path

Equivalent to -temppath.

3.4.184 -xthroughput[={yes|no}]

The -xthroughput option tells the compiler that the application will be run in situations where many processes are simultaneously running on the system

162 Oracle Developer Studio 12.6: Fortran User's Guide • July 2017

3.4 Options Reference

If -xthroughput=yes, the compiler will favor optimizations that slightly reduce performance for a single process while improving the amount of work achieved by all the processes on the system. As an example, the compiler might choose to be less aggressive in prefetching data.

Such a choice would reduce the memory bandwidth consumed by the process, and as such the process may run slower, but it would also leave more memory bandwidth to be shared among other processes.

The default is -xthroughput=no.

3.4.185 –xtime

Synonym for -time.

3.4.186 –xtypemap=spec

Specify default data mappings.

This option provides a flexible way to specify the byte sizes for default data types. This option applies to both default-size variables and constants.

The specification string spec may contain any or all of the following in a comma-delimited list:

real:size,double:size,integer:size

The allowable combinations on each platform are:

real:32

real:64

double:64

double:128

integer:16

integer:32

integer:64

For example:

–xtypemap=real:64,double:64,integer:64

Chapter 3 • Fortran Compiler Options

163

3.4 Options Reference

maps both default REAL and DOUBLE to 8 bytes.

This option applies to all variables declared with default specifications (without explicit byte sizes), as in REAL XYZ (resulting in a 64-bit XYZ). Also, all single-precision REAL constants are promoted to REAL*8.

Note that INTEGER and LOGICAL are treated the same, and COMPLEX is mapped as two REALs. Also, DOUBLE COMPLEX will be treated the way DOUBLE is mapped.

3.4.187 -xunboundsym={yes|no}

Specify whether the program contains references to dynamically bound symbols.

-xunboundsym=yes means the program contains references dynamically bound symbols.

-xunboundsym=no means the program does not contain references to dynamically bound symbols.

The default is -xunboundsym=no.

3.4.188 –xunroll=n

Synonym for -unroll=n.

3.4.189 -xvector[=a]

Enables automatic generation of calls to the vector library functions or the generation of the SIMD (Single Instruction Multiple Data) instructions on processors that support SIMD. You must use default rounding mode by specifying -fround=nearest when you use this option.

The -xvector option requires optimization level -xO3 or greater. The option is silently ignored if the optimization level is lower than -xO3.

The possible values for a are listed in the following table. The no% prefix disables the associated sub-option.

164 Oracle Developer Studio 12.6: Fortran User's Guide • July 2017

 

 

 

3.4 Options Reference

 

 

 

 

 

TABLE 26

-xvector Sub-options

 

 

 

 

 

Value

 

Meaning

 

 

 

 

 

[no%]lib

 

(Oracle Solaris) Enables the compiler to transform math library calls within loops

 

 

 

into single calls to the equivalent vector math routines when such transformations are

 

 

 

possible. This could result in a performance improvement for loops with large loop

 

 

 

counts. Use no%lib to disable this option.

 

 

 

 

 

[no%]simd

 

(SPARC) For -xarch=sparcace, -xarch=sparcaceplus and -xarch=sparcace2,

 

 

 

directs the compiler to use floating point and integral SIMD instructions to improve

 

 

 

the performance of certain loops. Contrary to that of the other SPARC -xarch

 

 

 

values under -xarch=sparcace, -xarch=sparcaceplus and -xarch=sparcace2,

 

 

 

-xvector=simd is in effect unless -xvector=none or -xvector=no%simd has been

 

 

 

specified. In addition -xO4 or greater is required for -xvector=simd, otherwise

 

 

 

-xvector=simd is ignored.

 

 

 

For all other -xarch values, directs the compiler to use the Visual Instruction

 

 

 

Set [VIS1, VIS2, ViS3, etc.] SIMD instructions to improve the performance of

 

 

 

certain loops. Basically with explicit -xvector=simd option, the compiler will

 

 

 

perform loop transformation enabling the generation of special vectorized SIMD

 

 

 

instructions to reduce the number of loop iterations. In addition to the optimization

 

 

 

level requirement noted below, the -xvector=simd option is effective only if -

 

 

 

xarch=sparcvis3 and above.

 

 

 

 

 

[no%]simd

 

(x86) Directs the compiler to use the native x86 SSE SIMD instructions to improve

 

 

 

performance of certain loops. Streaming extensions are used on x86 by default at

 

 

 

optimization level 3 and above where beneficial. Use no%simd to disable this option..

 

 

 

The compiler will use SIMD only if streaming extensions exist in the target

 

 

 

architecture; that is, if target ISA is at least SSE2. For example, you can specify -

 

 

 

xtarget=woodcrest, —xarch=generic, -xarch=sse2, -xarch=sse3, or -fast on

 

 

 

a modern platform to use it. If the target ISA has no streaming extensions, the sub-

 

 

 

option will have no effect.

 

 

 

 

 

%none

 

Disable this option completely.

 

 

 

 

 

yes

 

This option is deprecated; specify -xvector=lib instead.

 

 

 

 

 

no

 

This option is deprecated; specify -xvector=%none instead.

 

 

 

 

On x86, the default is -xvector=simd. On SPARC, the default is -xvector=simd under

-xarch=sparcace, -xarch=sparcaceplus and -xarch=sparcace2, and -xvector=%none on other SPARC -xarch values. If you specify -xvector without a sub-option, the compiler assumes -xvector=simd,lib on Oracle Solaris x86, -xvector=lib on Oracle Solaris SPARC, and - xvector=simd on Oracle Linux platforms.

The compiler includes the libmvec libraries in the load step.

If you compile and link with separate commands, be sure to use -xvector in the linking CC command as well.

Chapter 3 • Fortran Compiler Options

165

Соседние файлы в предмете Информационные и сетевые технологии