 IBM XL Fortran for AIX now supports Open MP Fortran API V2.0! IBM XL Fortran V8.1 for AIX is based on the mature compiler technology of the IBM XL Fortran V7.1 for AIX compiler. Product overview IBM XL Fortran V8.1 for AIX includes the following features: - Full functionality of XLF for AIX V7.1.1
- Continues to support Fortran 95, Fortran 90, and FORTRAN 77 standards
- Support for the OpenMP Fortran API V2.0
- Partial support for Fortran 2003 draft standard
- Exploits IBM POWER, POWER2, POWER3, POWER4, and PowerPC architectures
- Improved performance provided by advances in optimization and runtime technology
- Exploits the PowerPC symmetric multiprocessing (SMP) architecture
- 64-bit pointer and 64-bit addressability support for SMP and serial codes
- Supports automatic parallelization of a Fortran program as well as explicit parallelization.
XL Fortran V8.1 is a native and highly optimized compiler that exploits PowerPC architectures. The compiler provides full support for the OpenMP Fortran API V2.0, an industry-standard API for multi-platform SMP programming on UNIX®-based platforms. You can choose to let the compiler automatically parallelize your program, or you can use programming directives to explicitly parallelize specific sections in your programs. XL Fortran not only provides source code compatibility with existing Fortran 95, Fortran 90 and FORTRAN 77 programs, but also has enhanced source-code and command line options compatibility with non-IBM compilers. XL Fortran for AIX supports asynchronous I/O, often useful for programs that perform I/O for large amounts of data. Asynchronous I/O may make it possible for other program statements to be executed while the data transfer is taking place. Documentation The following documentation is included with IBM XL Fortran V8.1 for AIX: Memo to Users README User's Guide Language Reference
Summary of changes In addition to all of the functionality available in XL Fortran V7.1 for AIX, XL Fortran V8.1 for AIX provides the following: | Summary of Changes for XL Fortran for AIX, Version 8.1 | | | Support for the OpenMP Fortran API, Version 2.0
| | The WORKSHARE directive | | The COPYPRIVATE clause | | The NUM_THREADS clause | | The omp_get_wtick wallclock timer routine | | The omp_get_wtime wallclock timer routine | | The omp_set_nest_lock nested lock routine | | The omp_unset_nest_lock nested lock routine | | Module variables in the THREADPRIVATE directive | | The _OPENMP preprocessor macro is now defined as 200011. | | Relaxation of re-privatization rules | | Arrays in REDUCTION clauses | | Assumed-shape arrays in data attribute scope clauses | | Interfaces of the run-time routine provided through omp_lib module |
| | Fortran 2003 features | | Module support for IEEE arithmetic and exception handling. | | INTENT attribute on pointer | | PROTECTED attribute and statement | | VALUE attribute and statement | | Allocatable components | | Stream I/O method for accessing storage units of external stream files |
| Performance enhancements | | The COLLAPSE directive | | The STREAM_UNROLL directive | | The SUBSCRIPTORDER directive | | The UNROLL directive extends to outer loops | | The UNROLL_AND_FUSE directive | | Intrinsics for specific PowerPC operations | | Directives for specific PowerPC operations |
| New compiler options | | The -qextname=name option identifies global entities that will have underscores added to their names. | | The intrinthds run-time option specifies the number of threads for parallel execution of the MATMUL and RANDOM_NUMBER intrinsic procedures. | | The -qlargepage option specifies that a program, designed to execute in a large page memory environment, can take advantage of large 16 MB pages provided on Power4 or better CPUs. | | The -qpic option controls the selection of TOC size for Position Independent Code. | | The -qport=sce option enables short circuit evaluation in selected expressions. | | The -qprefetch option controls the automatic insertion of prefetch instructions. | | The -qsclk option specifies the resolution that the SYSTEM_CLOCK intrinsic procedure uses. | | The -qsmallstack option specifies that the compiler will minimize stack usage, where possible. | | The -qstrictieeemod option specifies whether the compiler adheres to the Fortran 2003 IEEE arithmetic rules. | | The -qsuppress=cmpmsg option filters out compilation-progress and successful completion messages from reports. | | The -qunwind option specifies the default behavior for saving and restoring from volatile registers during a procedure call. |
|
|