Release Notes for DIGITAL KAP for DEC Fortran Version 3.2 on DIGITAL UNIX Version 3.2 k301127 971210 December 1997 1 Purpose of Release Notes These release notes provide information about this version of DIGITAL KAP for DEC Fortran 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 DEC Fortran Version 5.0 and above. This release of DIGITAL KAP for DEC Fortran is not supported on versions of DEC Fortran prior to Version 5.0. The name of this product has changed since the last release. The previous (Version 3.1) name was KAP for DEC Fortran for Digital UNIX The new (Version 3.2) name is DIGITAL KAP for DEC Fortran for DIGITAL UNIX To identify the version of DIGITAL KAP for DEC Fortran 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 k301127 971210 2 Changes Since DIGITAL KAP for DEC Fortran Version 3.1 The purpose of this release is to fix a problem found in the Version 3.1 release. The parallel library has been updated for this release. The new version is bl30_1.2_posix_10, which can be obtained 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 3 Changes Since DIGITAL KAP for DEC Fortran Version 3.0 When the DIGITAL KAP driver, kf77, 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: kf77 fkapargs='-conc' -non_shared \ /usr/opt/alt/usr/lib/threads/libpthread.a myprog.f 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 2 Version 3.2 of DIGITAL KAP for DEC Fortran, DIGITAL KAP Fortran 90, 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 kf77 driver to optimize those defaults to the DEC Fortran Version 5.0 compiler. Those changes are as follows: o The linker switch -call_shared is set by default when the DIGITAL KAP switch -concurrent or -minconcurrent has been set. o A new parallel processing directive has been added: C*$* ASSERT DO (CONCURRENT CALL) The effect of this directive is the same as if the following two directives had been used: C*$* ASSERT DO (CONCURRENT) C*$* 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 as follows: 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 DIGITAL KAP, kapf, turn off loop un- rolling (-ur=1) if you will be setting the DIGITAL Fortran compiler's optimization to level 5 (-o5). The DIGITAL KAP driver, kf77, 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