Release Notes for DIGITAL KAP Fortran 90 Version 3.2 on DIGITAL UNIX Version 3.2 k301232 971210 December 1997 1 Purpose of Release Notes These release notes provide information about this version of DIGITAL KAP Fortran 90 software and user documentation. Please read them before using this product. This version requires DIGITAL UNIX Version 4.0B, 4.0C, or 4.0D along with DIGITAL Fortran 90 Version 5.0 and above. This re- lease of DIGITAL KAP Fortran 90 is not supported on versions of DIGITAL Fortran 90 prior to Version 5.0. The name of this product has changed since the last release. The previous (Version 3.1) name was KAP Fortran 90 for Digital UNIX The new (Version 3.2) name is DIGITAL KAP Fortran 90 for DIGITAL UNIX To identify the version of DIGITAL KAP for C on your system, look at the first part of the software's output to the terminal. Three consecutive fields contain a version number, base level, and date in YYMMDD format. For Version 3.2 these fields contain: 3.2 k301232 971210 2 Changes Since DIGITAL KAP Fortran 90 Version 3.1 The purpose of this release is to support DIGITAL Fortran 90 Version 5.0 and above, and to fix several problems found in the Version 3.1 release. The parallel library has been updated for this release. The new version number is bl30_1.2_posix_10, which can be obtained by using the command what /usr/lib/libkmp_ osfp10.a. In addition, the switches have changed as follows: o New switches - -align_common and -align_struct o Deleted switch - -natural Along with the addition of the -align_common and -align_struct switches and the deletion of the -natural switch, the documenta- tion of the DIGITAL KAP switches has changed as follows: o -fuselevel=2 is explained o -save had been rewritten o -unroll2 and -unroll3 have expanded explanations Another result is fixing two problems in the Version 3.1 re- lease: o Hanging of parallelized applications o Translator error If your code contains hpf directives (CHPF$), KAP treats them as comments and may move the executable code around in relation to the comments. 3 Changes Since DIGITAL KAP Fortran 90 Version 3.0 When the DIGITAL KAP driver, kf90, parallelizes code for symmet- ric multiprocessor (SMP) systems, it now uses the DIGITAL UNIX default linker switch selection -call_shared. The -call_shared switch causes the image to be linked with shared libraries in- stead of with archive libraries. In previous releases the driver overrode -call_shared by setting the linker switch -non_shared which caused the image to be linked with archive libraries. This change enables programs to use the versions of libraries on whatever system the program runs on without the need to relink. This is particularly important for the case of the DECthreads library, which changes with each minor and major revision of the operating system. For example, programs built on DIGITAL UNIX 4.0 can run on DIGITAL UNIX 4.0B, 4.0C, and 4.0D. IMPORTANT Due to differences in the DECthreads library between DIG- ITAL UNIX Version 3.2 and Version 4.0 and above, paral- lelized applications built on DIGITAL UNIX Version 4.0 and above will not run on DIGITAL UNIX Version 3.2. However, parallelized applications built on DIGITAL UNIX 3.2 will run on DIGITAL UNIX Version 4.0 and above. The DIGITAL KAP kit no longer includes the DECthreads archive library libpthread.a. Although DIGITAL recommends that you use the DECthreads shared library default, you can link an image to the DECthreads archive library libpthread.a, by using the -non_ shared linker switch and the following procedure: o DIGITAL UNIX Version 4.*: You should have installed the CMPDEVENH subset (Development Enhancements for DIGITAL UNIX) from the DIGITAL UNIX 4.* operating system CD-ROM. The DECthreads archive library is at the following location: /usr/opt/alt/user/lib/threads/libpthread.a To link to libpthread.a when you are building a parallel program, use the following command: kf90 fkapargs='-conc' -non_shared \ /usr/opt/alt/usr/lib/threads/libpthread.a myprog.f90 2 You can view the version number of the KAP parallel library with the what command as follows: libkmp_osfp10.a: what /usr/lib/libkmp_osfp10.a This command returns: KAP parallel library 2703 $Revision: 28.3 (C) Copyright 1996 Kuck & Associates, Inc. Version BL30_1.2_posix10 Version 3.2 of DIGITAL KAP Fortran 90, DIGITAL KAP for DEC Fortran, and DIGITAL KAP for C use identical parallel libraries. If you use different languages within a parallelized program, you should use Version 3.2 of all three DIGITAL KAP products. Changes have been made to the switch defaults set by the kf90 driver to optimize those defaults to the DIGITAL Fortran 90 Version 5.0 compiler. Those changes are as follows: o The linker switch -call_shared is set by default when the KAP switch -concurrent or -minconcurrent has been set. o A new parallel processing directive has been added: !*$* ASSERT DO (CONCURRENT CALL) The effect of this directive is the same as if the following two directives had been used: !*$* ASSERT DO (CONCURRENT) !*$* ASSERT CONCURRENT CALL The new directive was added so that users who found them- selves frequently using the combination of the two directives listed above, could replace them with a single directive. 4 Known Problems o The error message returned when your threaded application has run out of stack space has changed. The DIGITAL UNIX Version 4.* message is: DECthreads Last Chance handler: thread 1 exiting on status exception 0x177db005 Exception: Invalid memory address (dce / thd) If this happens, try unlimiting your process quotas using the cshell unlimit command. o When using standalone KAP, kapf90, turn off loop unrolling (-ur=1) if you will be setting the DIGITAL Fortran 90 com- piler's optimization to level 5 (-o5). The KAP driver, kf90, will do this for you automatically. 3 5 Trademark Information The following are third-party trademarks: KAP is a trademark of Kuck & Associates, Inc. POSIX is a registered trademark of IEEE. UNIX is a registered trademark in the United States and other countries licensed exclusively through X/Open Company Ltd. All other trademarks and registered trademarks are the property of their respective holders. DIGITAL UNIX Versions 4.0B, 4.0C, and 4.0D are X/Open UNIX 93 branded products. ©Digital Equipment Corporation. 1997. All Rights Reserved. 4