Release Notes for Compaq KAP Fortran/OpenMP Version 4.4 for Tru64 UNIX June 2001 1 PURPOSE OF RELEASE NOTES These release notes provide information about this version of KAP Fortran/OpenMP software and user documentation. Please review the notes before using the product. The distribution kit (KF9BASE440) includes both the KAP Fortran 77 and KAP Fortran 90 software. A license for either product allows execution of both products. This version has been tested with Digital UNIX 4.0F and Compaq Tru64 UNIX 5.0A and Fortran V5.3. 2 CHANGES TO KF90 AND KAPF90 SINCE VERSION 4.3 (JULY 2000) This is a maintenance release, which includes a number of fixes and improvements but no significant functional enhancement. Version 4.4 includes changes in the following areas: - Special markings have been applied to inner transformed loops that KAP has distributed. These special markings direct proper computations on subscript expressions that are shared by each distributed loop. - We have corrected a subscript related problem. - We fixed 2 KAP internal errors that were reported. - The new -tablesize= switch has been implemented in the KAP Fortran driver. The value specified in the -tablesize switch is compared to the product of the number of statements and the number of variables referenced in a given program unit. When this product is greater than the tablesize value, a "program-too-large" message will be issued stating the required tablesize. - The Fortran 77 version of KAP has not been updated or changed in any way. For compatibility reasons the kf77 driver and the kapf translator are still included with the kit and installed at /usr/opt/KF9BASE440/kf77 /usr/opt/KF9BASE440/kapf The symbolic links to these from /usr/bin have been automatically created with the kit installation. KAP Fortran V4.4 Release Notes Page 2 - The User Guide, Installation Guide and Quick Reference Card have been updated. 3 CHANGES TO KF90 AND KAPF90 IN VERSION 4.3 (JUNE 2000) SINCE VERSION 4.2 (October 1999) This is a maintenance release, which includes a number of fixes and improvements but no significant functional enhancement. Version 4.3 includes changes in the following areas: - We have corrected a problem with data structure memory leak. - We corrected problems where KAP was generating EXTERNAL declarations for the symbols MALLOC and FREE when these should be treated as native intrinsics. - We corrected erroneous syntax errors when processing module procedures, overloaded operators, and OpenMP directives. - We corrected problems in the kapf90 translator involving invalid ALLOCATE statements and pre-load/post-store optimization. - We corrected a dead-code elimination problem involving the hoisting of invariant-IFs from loops. - Kapf90 terminated with a translator error when an input file only contained an "else" clause. This has been corrected. Kapf90 now issues a syntax error. - Kapf90 terminated with a translator error when trying to do scalar replacement of loop-carried dependencies. This has now been corrected. - Kapf90 issued incorrect syntax errors when argument keywords were used for valid calls to the intrinsics IBCLR, IBITS, IBSET, ISHFT, and ISHFTC. Kapf90 now processes these valid intrinsic calls correctly. - This release includes two fixes involving parsing of Fortran90 code, where KAP inappropriately issued syntax errors: * The first problem involved evaluating the "selected_real_kind" intrinsic in this example: program main real(kind=selected_real_kind(p=12)) :: variable end * The second problem involved mixing an integer declaration to "MM" and a derived-type declaration to "MM". Example: MODULE int integer mm END MODULE KAP Fortran V4.4 Release Notes Page 3 MODULE types type mm integer deh end type END MODULE subroutine allocate_zonal_motion use int use types end subroutine In this example KAP was getting confused and issued spurious syntax errors. Both problems have been fixed. - We added KAP support for the "cputime" intrinsic. - We have improved data-dependence analysis for array-syntax lowering to reduce the need for compiler temporaries. - Two-version argument addressing for assumed-shaped and pointer-shaped objects that are used as actual arguments to subprograms that do not have interface blocks now works correctly. - We have corrected the "-tune=" switch-coordination problem between the Fortran compiler and KAP. - Array intrinsics within a WHERE masking construct were not being lowered in an appropriate manner. This caused the Fortran90 compiler to issue syntax errors on a valid application. We have fixed this problem. - The installation script has been changed to not check and not delete the threads library at /usr/lib/libthread.a. For a brief period several years ago the KAP kit included the archived version of the threads library. This is no longer the case, but the code was mistakenly left behind. - We have made a few additional and very minor changes to the installation script. - Under certain circumstances KAP would incorrectly put a scalar variable on the OpenMP PRIVATE list, when it should be on the SHARED list. This has been corrected. - An error caused by blank padding of the subprogram name in the processing of the "-inline=" switch has been fixed. - The Fortran 77 version of KAP has not been updated or changed in any way. For compatibility reasons the kf77 driver and the kapf translator are still included with the kit and installed at /usr/opt/KF9BASE430/kf77 /usr/opt/KF9BASE430/kapf But the symbolic links are not automatically updated. If you wish to use the f77 products you need to set up the symbolic links from KAP Fortran V4.4 Release Notes Page 4 /usr/bin to /usr/opt/KF9BASE430/kf77 and /usr/opt/KF9BASE430/kapf with the commands: # ln -s /usr/opt/KF9BASE430/kapf /usr/bin/kapf # ln -s /usr/opt/KF9BASE430/kf77 /usr/bin/kf77 or explicitly call out the location of kf77 and kapf in your command line. > /usr/opt/KF9BASE430/kf77 -fkap='/usr/opt/KF9BASE430/kapf' myprog.f - We have completed a major overhaul of the kf90 and kapf90 manpages and merged them to one. The commands > man kf90 > man kapf90 point to the same set of manpages. The kf77/kapf manpages are no longer part of the kit. - The User Guide, Installation Guide and Quick Reference Card have been updated. 4 SUPPORT AND FEEDBACK You can obtain support for this product and give feedback as follows: - Compaq Services A variety of service and support options are available from Compaq. For more information, contact your local Compaq sales office. - Compaq KAP home page on the World Wide Web You can access this page by using your favorite Web browser. The page's URL is: http://www.compaq.com/hpc/software/kap.html - Reader's Comments Compaq appreciates your comments. If you want to comment about any Compaq KAP product, please send e-mail to: kap-support@compaq.com 5 TRADEMARK INFORMATION Compaq, the Compaq logo, Compaq C, and Compaq Fortran, Registered in U.S. Patent and Trademark Office. KAP is a trademark of Intel Corporation. KAP Fortran V4.4 Release Notes Page 5 UNIX is a registered trademark of The Open Group. All other product names mentioned herein may be trademarks and registered trademarks of their respective holders. Copyright 2001 Compaq Computer Corporation