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

♦ ♦ ♦ ABP P E N D I X B

Features Release History

This Appendix lists the new and changed features in this release and recent releases of the Fortran compiler.

B.1 Oracle Developer Studio 12.6 Fortran Release

The Oracle Developer Studio Fortran 95 compiler version 8.8 is a component of the Oracle Developer Studio 12.6 release.

Support for SPARC M6, M7, and T7 processors.

Support for the Intel Broadwell/avx2_i processor.

Default compilation mode is -m64 on both Oracle Solaris and Oracle Linux.

Support for x86 dataspace profiling.

The maximum length of a free source form line has been increased from 132 to 250 characters.

Support for Parameterized Derived Types.

New compiler options:

-features=[no%]mergestrings causes the compiler to put string literals and other suitable const or read-only data into a special section of the binary where the linker removes duplicate strings. This option is available only on SPARC.

-xsecure_code_analysis enables compiler secure code analysis to find and display possible memory safety violations at compile time.

B.2 Oracle Solaris Studio 12.4 Fortran Release

The Oracle Solaris Studio Fortran 95 compiler version 8.7 is a component of the Oracle Solaris Studio 12.4 release.

Appendix B • Features Release History

215

B.2 Oracle Solaris Studio 12.4 Fortran Release

New -xarch, -xchip, and -xtarget values for Intel Ivy Bridge processor on x86.

New -xarch, -xchip, and -xtarget values for SPARC T5, M5, M6, and M10+ processors.

Support for Ivy Bridge assembler instructions.

Support for Ivy Bridge intrinsic functions, which can be found in solstudio-install-dir/lib/ compilers/include/cc/immintrin.h.

Default value for -xarch=generic set to sse2 for -m32 on x86.

Support for -xlinkopt on x86. Inter-module, inter-procedural code ordering optimizations for large enterprise applications tuned for modern Intel processors. An up to 5% performance boost over a fully optimized binary can be seen for large applications.

Enhanced -xs option to control the trade-off of executable size versus the need to retain object files in order to debug.

Support for -xanalyze and -xannotate on Linux.

Support for -fopenmp as a synonym for -xopenmp=parallel.

Compile time for applications using modules is substantially improved and memory overflows due to module processing are eliminated.

!$pragma ident can be used in a source file to identify the source version of the compiled object.

The format for f90 source files is:

!$pragma ident "$Id: <Identification String> $"

Note that the spaces before and after <Identification String> are needed. For example:

!$PRAGMA IDENT "$Id: Identification String $" program foobar

character (LEN=120) :: versionid parameter (versionid = "$Id: string $") character*120 v2

data v2/"$Id$"/

print *,"hello world",versionid,v2 end program

On Linux platforms, the identification string can be displayed using the ident command. On Oracle Solaris, the command mcs -p can be used.

Alternatively, for source files that already contain the identification strings as parameter constants like versionid in the example above, the following command can be used to turn the value of the versionid parameter constant into an identification string.

-qoption f90comp -ident=versionid

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

B.2 Oracle Solaris Studio 12.4 Fortran Release

Support for a deferred type parameter (colon) as the LEN type parameter in a character type used in a declaration. For example:

character(LEN=:), pointer :: str

Support for procedure pointer.

Support for the C_F_PROCPOINTER function in the Fortran 2003 standard for the ISO_C_BINDING module. The C_FUNLOC function is extended to allow procedure pointer as argument.

Support for the Fortran 2003 feature for ABSTRACT interface.

Full support for object-oriented Fortran. Typebound procedures with the GENERIC,

DEFERRED, NON_OVERRIDABLE, PASS, and NOPASS attributes are now allowed.

Support for the Fortran 2003 feature to enable derived type and generic function to have the same name.

Support for the Fortran 2008 feature to enable passing TARGET objects to INTENT(IN) pointer dummies.

Support for the Fortran 2003 feature to allow finalizing routines in derived types.

New compiler options:

-fma enables automatic generation of floating-point fused multiply-add instructions.

-fserialio specifies that the program does not perform I/O in more than one thread at a time.

(x86) -preserve_argvalues saves copies of register-based function arguments in the stack.

-xdebuginfo controls how much debugging and observability information is emitted.

-xglobalize controls globalization of file static variables but not functions.

-xinline_param allows for changing the heuristics used by the compiler for deciding when to inline a function call.

-xinline_report generates a report written to standard output on the inlining of functions by the compiler.

-xipo_build reduces compile time by avoiding optimizations during the initial pass through the compiler, optimizing only at link time.

-xkeep_unref keeps definitions of unreferenced functions and variables.

-keepmod retains a module which is not changed when compiled. The default is - xkeepmod=yes, which replaces the old behavior when a new module file is created each time even without any changes from the previous compilation.

-xM generates makefile dependency automatically. In conjunction with the new - keepmod=yes option, it allows the most optimal incremental build on Fortran application using modules.

-xpatchpadding reserves an area of memory before the start of each function.

Appendix B • Features Release History

217

B.3 Oracle Solaris Studio 12.3 Fortran Release

(Oracle Solaris) -xsegment_align causes the driver to include a special mapfile on the link line.

-xthroughput indicates that the application will be run in situations where many processes are simultaneously running on the system.

-xunboundsym specifies whether the program contains references to dynamically bound symbols.

The libraries libfmaxlai, libfmaxvai, libfminlai, libfminvai, libfprodai and libfsumai on SPARC platform have not been used by the Studio Fortran compilers since the Sun Studio 10 release in 2005.

These libraries will be removed in a future release. At that point, object files and executables produced by Studio compilers earlier than the Sun Studio 10 release can no longer be used and must be recompiled with newer Studio compilers. If you have old object files and executables that require any of these libraries and recompiling is not feasible, you should keep the old compiler installation or copy the specific libraries you need from the old compiler installation into the new compiler installation.

B.3 Oracle Solaris Studio 12.3 Fortran Release

The Oracle Solaris Studio Fortran 95 compiler version 8.6 is a component of the Oracle Solaris Studio 12.3 release.

The Fortran runtime library now supports sequential-access unformatted records larger than 2GB.

Support for new SPARC T4 platform: —xtarget=T4, —xchip=T4, —xarch=sparc4

Support for new x86 Platform Sandy Bridge / AVX: —xtarget=sandybridge — xchip=sandybridge —xarch=avx

Support for new x86 Platform Westmere / AES: —xtarget=westmere —xchip=westmere — xarch=aes

New compiler option: —Xlinker arg passes argument to linker, ld(1). Equivalent to — Wl,arg. (“3.4.109 -Xlinker arg” on page 103)

The OpenMP default number of threads, OMP_NUM_THREADS is now 2 (was 1). (“3.4.159 – xopenmp[={parallel|noopt|none}]” on page 144)

Support for the OpenMP 3.1 shared memory parallelization specifications. (“3.4.159 – xopenmp[={parallel|noopt|none}]” on page 144)

Use —library=sunperf to link to the Oracle Solaris Studio Performance Library. (“3.4.59 - library=sunperf” on page 82)

Intrinsic routines LEADZ, POPCNT, and POPPAR previously had the return type as the type of the argument. In this release, to be conforming with the Fortran 2008 standard, the

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

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