fortran resources
DESCRIPTION
Fortran Resources [2012]TRANSCRIPT
Fortran Resources1
Ian D Chivers Jane Sleightholme
August 31 2012
1The original basis for this document was Mike Metcalfrsquos Fortran Information File The
next input came from people on comp-fortran-90 Details of how to subscribe or browse this
list can be found in this document If you have any corrections additions suggestions etc
to make please contact us and we will endeavor to include your comments in later versions
Thanks to all the people who have contributed
2
Contents
1 Books 911 Fortran 2003 and 2008 - English 912 Fortran 95 - English 1013 Fortran 90 - English 1114 English books on related topics 1215 Chinese 1316 Dutch 1317 Finnish 1318 French 1319 German 14110 Italian 15111 Japanese 15112 Russian 15113 Swedish 15
2 Compilers 1721 Introduction 1722 Absoft 1723 Cray 1824 Fortran Company 1825 Fujitsu 1826 Gnu Fortran 95 1927 g95 1928 Hewlett Packard 2029 IBM 20210 Intel 21211 LaheyFujitsu 21212 NAG 22213 NEC 22214 Oracle - originally Sun 23215 PathScale 23216 PGI 24217 Silverfrost nee Salford Software 24218 SGI 24219 Sun - see Oracle 25
4 CONTENTS
220 No longer available 252201 Apogee 252202 Compaq 252203 EPC 262204 NA Software 26
3 Fortran aware editors and IDEs 2731 Windows 27
311 Absoft Editor (ae) 27312 CRiSP 27313 compaq visual fortran 6x 27314 editeur 27315 emacsxemacs - stand alone 27316 emacsxemacs - cygwin components 27317 gvimvim - stand alone 28318 gvimvim - cygwin component 28319 jed wjed (Windows) 283110 lahey ed 283111 microsoft visual studio 6 283112 Microsoft Visual StudioNET 283113 nedit - cygwin 283114 ntemacs 283115 photran 283116 salford plato 293117 Oracle Solaris Studio Express 293118 UltraEdit 293119 xemacsemacs - stand alone 293120 xemacsemacs - cygwin components 293121 Zeus ide 29
32 LinuxUnix 29321 CRiSP 29322 emacsxemacs 29323 jed xjed (Unix(all flavours)OpenVMS) wjed (Windows) 29324 nedit 29325 photran 30
33 Apple OS X 30331 Absoft Editor 30332 BBEdit 30333 emacsxemacs 30334 Photran 30335 Smultron 30336 TextMate 30337 TextWrangler 30338 Vim 30339 Xcode 31
CONTENTS 5
3310 xemacsemacs 31
4 Commercial Courses 3341 Ian Chivers and Jane Sleightholme 3342 Cranfield University 3343 The Fortran Company 3444 Hector 3445 Lahey 3546 Michael Metcalf 3547 Nihon NAG Numerical Algorithms Group Japan 3548 PTR Associates 3549 Purple Sage Computing Solutions Inc 36410 John Reid 36411 France 36412 Japan 36
4121 Nihon NAG Numerical Algorithms Group Japan 36
5 On Line Training Material 3951 CERN 3952 Paul Dubois 3953 Linkoping University 3954 Liverpool University 3955 French 40
6 Graphics and Windows Programming 4161 Introduction 4162 dislin 41
621 Worked examples 4263 gino 42
631 Documentation 42632 Worked examples 42
64 ginomenu 42641 Documentation 43
65 interacter 43651 Documentation 43652 Worked examples 43
66 opengl 43661 Documentation 43662 Worked examples 43663 Documentation 44664 Worked examples 44
67 realwin 44671 Documentation 44672 Worked examples 44
68 toolmaster 45
6 CONTENTS
681 Documentation 45
682 Worked examples 45
69 winteracter 45
691 Documentation 45
692 Worked examples 45
610 Microsoft Windows graphics programming 45
6101 LaheyFujitsu 46
6102 Salford Software 46
7 Parallel Programming 47
71 Introduction 47
711 Books 48
72 Automatic 48
73 Coarray Fortran 49
74 HPF 49
75 MPI 49
751 Books 49
752 Courses 50
753 Requirements 50
76 OpenMP 50
761 Books 51
762 Courses 51
763 Resources 51
764 Requirements 52
77 Posix Threads 52
78 Notes on the table below 52
79 Table of compilers and supported parallel options 54
710 Parallelisation Tools 55
7101 Crescent Bay Software 55
7102 Parallel Software Products 56
8 Fortran Software Tools 57
81 Refactoring 57
82 Convert 57
83 Forcheck 58
84 FOR STRUCT 58
85 FOR STUDY 58
86 Fortran90-lint 58
87 NAGWare Fortran Tools 58
88 photran 58
89 plusFORT 59
810 VAST77to90 59
CONTENTS 7
9 Fortran Electronic Lists 6191 comp-fortran-90 6192 complangfortran 6193 LinkedIn 6294 Compiler specific 62
941 Absoft 62942 Apogee 63943 Compaq 63944 Cray 63945 Fortran Company 63946 Fujitsu 63947 Gnu Fortran 95 63948 G95 63949 Hewlett Packard 639410 IBM 639411 Intel 649412 Lahey Fujitsu 649413 NAG 649414 NA Software 649415 NEC 649416 Pathscale 649417 PGI 649418 Salford Software 649419 SGI 659420 SUN 65
10 Fortran Standard Bodies 67101 Introduction 67102 WG5 67103 PL223 67
11 Other Web Links 71111 Fortran History 71
1111 A brief history of FORTRAN-Fortran 711112 Computer Languages History (preview) 711113 Computer Languages History 711114 Fortran A few historical details 711115 Open Directory - Fortran Tutorials Fortran 90 and 95 711116 Open Directory - Fortran 711117 The Fortran (not the foresight) saga 72
112 Computer Arithmetic 721121 What every computer scientist should know about floating point arithmetic 721122 IEEE 754r - Wikipedia the free encyclopedia 721123 IEEE 754 Standard for Binary Floating-Point Arithmetic 721124 IEEE Standard 754 Floating-Point 72
8 CONTENTS
1125 William Kahan 721126 IEEE 754 floating-point test software 721127 Interval FAQ from Alejandro Casares ndash What machines support IEEE 754 721128 Decimal Arithmetic - FAQ 1 721129 General Decimal Arithmetic 72
113 Programming 731131 Calling FORTAN and C from Java 731132 CS 267 Applications of Parallel Computers 731133 Hillsidenet - Design Patterns Book - DP Book 731134 Hillsidenet - Design Patterns Book - Source 731135 Home page of Les Hatton 731136 Parallel Programming - Basic Theory For The Unwary 731137 Putting a Java Interface on your C C++ or Fortran Code 731138 Teach Yourself Programming in Ten Years 73
Chapter 1
Books
bull Version 17 August 2012 Added Section 11 Chivers Added Section 11 Mar-cus
bull Version 16 January 2012 Added Section 15 Chivers
bull Version 15 October 2011 Added Section 11 Chivers Added Section 11 Cler-man Added Section 11 Gnu Fortran Added Section 11 Rouson Added Section12 Lakshmivarahan
bull Version 14 July 2010 Added Section 11 Brainerd Added Section 11 McCor-mmack Added Section 11 Ray Added Section 12 Rajaram Added Section13 Barlow et al Added Section 14 Chandra et al Added Section 14 Chapmanet al
bull Version 13 June 2009 Removed invalid web address in Morgan and Schonfelderentry Corrected spelling in Chinese entry
bull Version 12 September 2008 Added Section 11 Adams et al Added Section110 Ciaburro
bull Version 11 September 2007 Added Section 11 Chapman Added Section 12Lemmon
11 Fortran 2003 and 2008 - English
bull Adams JC Brainerd WS Hendrickson RA Maine RE Martin JTSmith BT The Fortran 2003 Handbook The Complete Syntax Features andProcedures 2008 Springer Verlag ISBN 978-1-84628-378-9
bull Brainerd WS Guide to Fortran 2003 Programming 2009 Springer VerlagISBN 978-1-84882-542-0
bull Chapman SJ Fortran 952003 For Scientists and Engineers 2007 McGraw-Hill ISBN 978-0073191577 ISBN 0073191574
10 CHAPTER 1 BOOKS
bull Chivers ID Sleightholme J Introduction to Programming with Fortran Withcoverage of Fortran 90 95 2003 2008 and 77 2012 Springer Verlag ISBN-100857292323 ISBN-13 978-0857292322 Second Edition
bull Chivers ID Sleightholme J Introduction to Programming with Fortran Withcoverage of Fortran 90 95 2003 and 77 2006 Springer Verlag ISBN 1-84628-053-2 First Edition
bull Clerman NS Spector W Modern Fortran Style and Usage Cambridge Uni-versity Press 2011 ISBN-10 052173052X ISBN-13 978-0521730525
bull Gnu Fortran Team Using Gnu Fortran Manual For Gcc Version 433 Cre-ateSpace ISBN-10 1441412662 ISBN-13 978-1441412669 2009
bull McCormack D Scientific Software Development with Fortran 2009 ISBN 978-1-4452-5445-6
bull Metcalf M Reid J and Cohen M Fortran 952003 Explained 2004 OxfordUniversity Press ISBN 0-19-852693-8 ISBN 0-19-852692-X
bull Marcus A Modern Fortran in Practice 2012 Cambridge University PressISBN-10 1107017904 ISBN-13 978-1107017900
bull Ray S A Textbook on Fortran 2003 2009 Alpha Science International ISBN978-1-84265-479-8
bull Rouson D Xia J Xu X Scientific Software Design The Object-OrientedWay Cambridge University Press 2011 ISBN-10 0521888131 ISBN-13 978-0521888134
12 Fortran 95 - English
bull Adams JC Brainerd WS Martin JT Smith BT and Wagener JL Fortran95 Handbook 1997 MIT ISBN 0-262-51096-0
bull Adams JC Brainerd WS Martin JTand Smith BT Fortran Top 95 NinetyFive Key Features of Fortran 95 $10 The book is only available in PDF formfrom the Fortran Store httpwwwfortrancom
bull Akin E Object Oriented Programming via Fortran 9095 2003 CambridgeUniversity Press ISBN 0-521-52408-3
bull Chapman S J Fortran 9095 for Scientists and Engineers 2004 McGraw HillISBN 0-07-282575-8
bull Chapman SJ Introduction to Fortran 9095 1997 McGraw-Hill 1997 ISBN0-07-011969-4
13 FORTRAN 90 - ENGLISH 11
bull Chivers ID Sleightholme J Introducing Fortran 95 2000 Springer VerlagISBN 185233276X
bull Counihan M Fortran 95 1997 UCL ISBN 185728367-8
bull Etzel M Dickinson K Digital Visual Fortran 90 Programmerrsquos Guide 1999Digital Press ISBN 1-55558-218-4
bull Gehrke Fortran 95 Language Guide 1996 Springer ISBN 3-540-76062-8
bull Lakshmivarahan S Sudarshan K Dhall Programming in Fortran 9095 Pub-lisher Pearson Custom Publishing (2002) ASIN B000XM3WZ0
bull Lawrence N Compaq Visual Fortran A Guide to Creating Windows Applica-tions 2001 Digital Press ISBN 1-55558-249-4
bull Lemmon DRSchafer JL Developing Statistical Software in Fortran 95 2005Springer ISBN-10 0387238174 ISBN-13 978-0387238173
bull Metcalf M Reid J Fortran 9095 Explained 1999 Oxford University PressISBN 0-19-850558-2
bull Morgan amp Schonfelder Programming in Fortran 9095 available in AcrobatPDF format from httpwwwfortrancom
bull Rajaram V Computer Programming in Fortran 90 and 95 2004 Prentice HallISBN 978-8120311817
bull Vowels R Introduction to Fortran 9095 Algorithms and Structured Pro-gramming Part 1 Introduction to Fortran 90 Part 2 Algorithms and Fortran90 ISBN 0-9596384-8-2
13 Fortran 90 - English
bull Barlow RJ Barnett AR Computing for Scientists Principles of Program-ming with Fortran 90 and C++ 1998 Wiley Blackwell ISBN 978-0471955962
bull Adams Brainerd Martin Smith and Wagener Fortran 90 Handbook 1992McGraw Hill ISBN 0-07-000406-4
bull Brainerd Goldberg and Adams Programmers Guide to Fortran 90 1996Springer ISBN 0-387-94570-9
bull Brainerd Goldberg and Adams Programmers Guide to Fortran 90 1994 Uni-comp ISBN 0-07-000248-7
bull Brooks Problem solving with Fortran 90 for scientists and engineers 1997Springer ISBN 0-387-98229-9
12 CHAPTER 1 BOOKS
bull Chivers ID Sleightholme J Introducing Fortran 90 1995 Springer ISBN3-540-19940-3
bull Ellis Philips Lahey Fortran 90 Programming 1994 Addison Wesley ISBN0-201-54446-6
bull Etter Fortran 90 for Engineers 1995 BenjaminCummings ISBN 0-201544-46-6
bull Gehrke Fortran 90 Language Guide 1996 Springer ISBN 3-540-19926-8
bull Hahn DB Fortran 90 for Scientists and Engineers 1994 Edward Arnold ISBN0-340-60034-9
bull Huddleston Fortran 90 1996 Exchange Publ Div ISBN 0-945261-07-1
bull Kerrigan JF Migrating to Fortran 90 1993 OrsquoReilly ISBN 1-56592-049-X
bull Meissner LP Fortran 90 1995 PWS Kent ISBN 0-534-93372-6
bull Metcalf M Reid J Fortran 90 Explained 1990 Oxford University Press ISBN0-19-853772-7
bull Morgan amp Schonfelder Programming in Fortran 90 1993 Alfe4d Waller ISBN1-872474-06-3
bull Nyhoff Leestma Fortran 90 for Engineers and Scientists1 1996 PrenticeHall ISBN 0-13-519729-5
bull Nyhoff Leestma An introduction to Fortran 90 for Engineers and Scientists1996 Prentice Hall ISBN 0-13-505215-7
bull Redwine Upgrading to Fortran 90 1995 Springer-Verlag ISBN 0-387-97995-6
bull Schick Silverman Fortran 90 and Engineering Computation 1994 JohnWiley ISBN 0-471-58512-2
bull Smith IM Programming in Fortran 90 Wiley ISBN 0471-94185-9
bull Wagener Fortran 90 Concise Reference 1998 Absoft ISBN 0-9670066-0-0
14 English books on related topics
bull Advanced Scientific Computing - Wille Wiley 1995 ISBN 0471-95383-0
bull Atlas for Computing Mathematical Functions in Fortran 90 and Mathematica- Thompson Wiley 1997 0-471-18171-4
15 CHINESE 13
bull Contemporary Computing for Technical Engineers and Scientists using Fortran90 and spreadsheets - Forsythe PWS 1997 0-534-93139-1
bull Numerical Recipes in Fortran 90 The Art of Parallel Scientific ComputingVolume 2 of Fortran Numerical Recipes - Press Teukolsky Vetterling and Flan-nery Cambridge U Press ISBN 0-521-57439-0 1996 Code can be downloaded(purchased) from httpwwwnrcom A CDROM is also available (see Website)
15 Chinese
bull Introduction to Programming with Fortran with coverage of Fortran 90 952003 and 77 Ian Chivers and Jane Sleightholme Posts and Telecom Pressand Springer-Verlag London 2009 ISBN 978-7-115-21227-6 (A translation ofIntroduction to Programming in Fortran)
bull Programming Language Fortran 90 - He Xingui Xu Zuyuan Wu Qingbao andChen Ming yuan China Railway Publishing House Beijing ISBN 7-113-01788-6TP187 1994
bull Fortran 90 - Walter S Brainerd Charles H Goldberg Jeanne C Adams CHEPBeijing and Springer Berlin 2000 ISBN 7-04-007937-2 (a translation of Pro-grammerrsquos Guide to Fortran 90)
16 Dutch
bull Fortran 90 - WS Brainerd ChH Goldberg and JC Adams translated byJM den Haan Academic Service 1991 ISBN 90 6233 722 8
17 Finnish
bull Fortran 9095 - Juha Haataja Jussi Rahola and Juha Ruokolainen Center forScientific Computing (Finland) 2001 339 pages 3rd edition ISBN 952-9821-60-3 WWW version httpwwwcscfioppaatf95
18 French
bull Fortran 90 Approche par la Pratique - P Lignelet Srie Informatique ditionsMenton 1993 ISBN 2-909615-01-4
bull Fortran 90 Les concepts fondamentaux the translation of Fortran 90 Ex-plained M Metcalf J Reid translated by M Caillat and B Pichon AFNOR1993 Paris ISBN 2-12-486513-7
14 CHAPTER 1 BOOKS
bull Fortran 90 Initiation partir du Fortran 77 - Aberti Srie Informatique ditionsMenton 1992 ISBN 2-909615-00-6
bull Les spcificits du Fortran 90 M Dubesset et J Vignes ditions Technip 1993 ISBN 2-7108-0652-5
bull Manuel complet du langage Fortran 90 et guide dapplication P Lignelet SrieInformatique ditions 1995 ISBN 2-909615-02-2
bull Manuel Complet du Langage Fortran 90 et Fortran 95 Calcul intensif et GnieLogiciel P Lignelet Masson ditions Paris 1996 ISBN 2-225-85229-4
bull Programmer en Fortran 90 C Delannoy Eyrolles 1992 ISBN 2-212-08723-3
bull Traitement des donnes numriques avec Fortran 90 M Olagnon Masson ditions1996 ISBN 2-225-85259-6
bull Structures des donnes (et leurs algorithmes) en Fortran 9095 P LigneletMasson ditions Paris ISBN 2-225-85373-8
19 German
bull Fortran 90 Lehrbuch D Rabenstein Hanser 1995 ISBN 3-446-18235-7
bull Die Programmiersprache F W Gehrke Springer-Verlag ISBN 3-540-63376-6
bull Fortran 90 - BWojcieszynski and RWojcieszynski Addison-Wesley 1993 ISBN3-89319-600-5
bull Fortran 90 eine informelle Einfhrung M Heisterkamp BI-Wissenschaftsverlag1991 ISBN 3-411-15321-0
bull Fortran 90 Kurs technisch orientiert - G Schmitt Oldenbourg 1996 ISBN3-486-23896-5
bull Fortran 90 Lehr- und Arbeitsbuch fr das erfolgreiche Programmieren WSBrainerd CH Goldberg and JC Adams translated by Peter Thomas andKlaus G Paul R Olbenbourg Verlag Muenchen 1994 ISBN 3-486-22102-7
bull Fortran 90 Lehr- und Handbuch - T Michel BI-Wissenschaftsverlag 1994
bull Fortran 90 Referenz-Handbuch der neue Fortran-Standard W Gehrke CarlHansen Verlag 1991 ISBN3-446-16321-2
bull Programmierung in Fortran 90 - Schobert Oldenburg 1991
bull Programmierung mit Fortran 90 - Bumer Vieweg Braunschweig 1997 ISBN3-528-05208-2
110 ITALIAN 15
bull Programmieren in Fortran - Erasmus Langer Springer-Verlag Wien New York1993 ISBN 3-211-82446-4 0-387-82446-4
bull Software Entwicklung in Fortran 90 - berhuber and Meditz Springer Verlag1993 ISBN 0-387-82450-2
110 Italian
bull Some resources in Italian including a manual are at
httpspacetinitcomputergciabu
bull Programmare con Fortran G Ciaburro FAG 2008 ISBN 9788882336882
wwwciaburroitf90librohtm
httpwwwibsitcode9788882336882ciaburro-giuseppeprogrammare-con-fortranhtml
111 Japanese
bull Fortran 90 Explained - Metcalf and Reid translated by H Nisimura H WadaK Nishimura M Takata Kyoritsu Shuppan Co Ltd 1993 ISSN 0385-6984
112 Russian
bull An Explanation of the Fortran 90 Programming Language (translation of For-tran 90 Explained - Metcalf and Reid) translated P Gorbounov Mir Moscow1995 ISBN 5-03-001426-8 Available also from PetrGorbounovcernch
bull FORTRAN 77 to Fortran 90 Tutorial - Einarsson and Shokin Russian Academyof Sciences Novosibirsk 1995 ISBN 5-85826-013-6
113 Swedish
bull Fortran 90 - en introduktion - Blom Studentlitteratur Lund 1994 ISBN 91-44-47881-X
16 CHAPTER 1 BOOKS
Chapter 2
Compilers
bull Version 110 August 2012 Updated Nag entry 53 release supports openMPAlso updated product availability entry
bull Version 19 November 2010 Updated Absoft in response to an email fromWood Lotz
bull Version 18 July 2010 Updated Sun to reflect takeover by Oracle UpdatedSalford to reflect Silverfrost rebranding
bull Version 17 June 2009 Updated the Cray and Intel entries Added a newsection on compilers that are no longer available This has involved moving theentries on Apogee Compaq and NA Software into this section For historicalcompleteness wersquove also added an entry for EPC to this section
bull Version 16 September 2008 Updated the NAG entry with more details of theFortran Builder IDE
bull Version 15 September 2007 Updated Absoft Entry Compaq Fortran Com-pany Fujitsu Gnu Fortran 95 G95 IBM Intel LaheyFujitsu NAG NASoftware NEC Pathscale PGI SalfordSilverfrost SGI Sun
21 Introduction
The following is a list of companies and organisations that provide Fortran compilersthat conform to the Fortran 90 95 2003 and 2008 standards Fortran Forum hasa more or less standing table on compilers that support features from the 2003 and2008 standards The gfortran g95 and Sun compilers are free for Linux and gfortranand g95 are free for Windows
22 Absoft
httpwwwabsoftcom
18 CHAPTER 2 COMPILERS
Absoft Pro Fortran is a complete tool suite designed to automate building par-allel code on Linux Windows or Mac OSIntel Absoft Rolls are also available forx64Linux Compilers are full F95 include all popular legacy extensions many fromF2003 and are fully link and debug compatible with the host (Linux Microsoft MacOS) tool chain Compilers offer automatic parallelization vectorization OpenMP 30GPU support and Absoft application performance is consistently rated 1 on AMDand Intel systems by third party benchmarks IDE includes SMP graphical analyzerFx3 graphical multi-language debugger programmers editor several Fortran specificfeatures OpenMP and MPI controls math libraries VAXUnix libraries and 2D3Dgraphics Same look feel and functionality on all systems Nothing else to buy orlearn IMSL numerical libraries are a bundle option on all platforms
23 Cray
httpwwwcraycom
Cray has a fully optimizing Fortran 2003 compiler available for the Cray XT seriessystems This compiler also supports OpenMP and several Fortran 2008 featuresincluding submodules and coarrays
Cray has a fully-optimizing Fortran 95 compiler available for the Cray PVP (J90SV1) T3E and X1 systems The PVP compiler supports automatic parallization andOpenMP The T3E compiler supports coarrays The X1 compiler supports automaticstreaming OpenMP coarrays and many Fortran 2003 featuresrdquo
24 Fortran Company
httpwwwfortrancom
The Fortran Company offers F the subset language for Unix and Windows somein highly optimizing versions All of the full professional versions of the F compilerare available free by downloading them from the F anonymous ftp directory
The Fortran Tools include a Fortran 95 compiler with a graphical user interfacethat runs on Linux or Windows on a CD The CD also includes several Fortran booksin PDF format and many tools such as Matran a matrix computation library thatuses the highly tuned Atlas libraries a plotting package and a library of routines tocreate GUIs for your Fortran application programs
25 Fujitsu
httpwwwfujitsucomglobal
26 GNU FORTRAN 95 19
Fortran 95 (Solaris) A powerful updated development system used for FORTRANproductive applications Current version Sun Studio 9
The ISO Fortran 95 Standard is fully supported additionally there are enhance-ments for Fortran77 such as pointersstructures binaryoctalhexadecimal constantsetc High optimization includes automatic parallelization and OpenMP support AFortran runtime system optimized for UltraSPARC is now also included in the pack-age The development environment consists of the following components
Workbench An integral development environment for the CC++ and Fortrancompilers for compiler control program execution debugging performance analysiscoverage etc with a Motif-based graphical user interface (GUI)
Visual Analyzer A development and migration tool for CC++ and Fortranprograms The enclosed Source Analyzer allows the static program structure and theglobal data relations to be visualized It contains a class browser cross referencesand a calling graph viewer
Parallel Analyser Consists of an integrated development environment for theOpenMP programming It contains a manager a debugger and a profiler
Fujitsu also has a Fortran 95 compiler for Linux and a highly optimized nativeFortran 95 compiler FortranVPP and HPF for its VPP supercomputers
26 Gnu Fortran 95
httpgccgnuorgwikiGFortran
httpgccgnuorgfortran
Gfortran is the name of the GNU Fortran project developing a free Fortran 952003compiler for GCC the GNU Compiler Collection The gfortran development effortuses an open development environment in order to attract a larger team of devel-opers and to ensure that gfortran can work on multiple architectures and diverseenvironments The GNU Fortran 95 project or gfortran is developing a Fortran 95compiler front end as well as runtime libraries for GCC the GNU Compiler Col-lection Gfortran development is a part of the GNU project aiming to bring freenumber crunching to all GNU system variants The gfortran development effort usesan open development environment in order to attract a larger team of developers andto ensure that gfortran can work on multiple architectures and diverse environmentsIn particular the project wishes to reach the users of the Fortran 95 language beit in the scientific community in education or in a commercial environment Todaytruly free Fortran 90 or Fortran 95 compilers do not exist We are trying to makeone available to the Fortran community
27 g95
httpwwwg95org
20 CHAPTER 2 COMPILERS
g95 is a stable production Fortran 95 compiler available for multiple cpu architec-tures and operating systems Innovations and optimizations continue to be workedon Parts of the F2003 standard have been implemented in g95
28 Hewlett Packard
The web address that describes all of the compilers and supported hardware andoperating systems is
httph21007www2hpcomdspptechtech_TechSoftwareDetailPage_IDX11703623500h
HPrsquos Fortran products are available for multiple platforms Windows Tru64 UNIXAlphaServer systems Linux AlphaServer systems and HP OpenVMS (Alpha VAX)
Visual Fortran for WindowsFortran for Linux AlphaFortran for Tru64 UNIX AlphaFortran for HP OpenVMS AlphaFortran for HP OpenVMS IntegrityFortran for HP OpenVMS VAXFortran for HP-UXThe Windows product Compaq Visual Fortran includes the Microsoft Developer
Studio IDE which can be shared with Microsoft Visual C++ Parallel execution usingOpenMP-directed decomposition or HPF is included on the Tru64 UNIX platformOn Windows NT SMP parallel execution using directed decomposition is availablethrough Visual Compaq Fortran for Linux Alpha Systems is available as a freedownload under a Technology Enthusiast license for non-commercial use All Com-paq Fortran 95 products include the Compaq Extended Math Library of optimizedscientific subroutines and the allocatable array extensions
29 IBM
httpwww-306ibmcomsoftwareawdtoolsfortran
httpwww-306ibmcomsoftwareawdtoolsfortranxlfortranfeaturesf2003html
XL Fortran Enterprise Edition for AIX XL Fortran Enterprise Edition for AIX pro-vides industry-leading code optimization and tuning features a full implementationof the OpenMP API Version 25 Symmetric Multiprocessing (SMP) APIs directmanipulation of the floating-point status and control register 64-bit enablementasynchronous IO debug memory routines and many other features
XL Fortran Advanced Edition for Blue Gene XL Fortran Advanced Edition forBlue Gene is the latest addition to our XL Fortran compiler family It expands our
210 INTEL 21
proven XL Fortarn compiler technology to exploit the capabilities of the PowerPC440 and 440d processors used in IBM Blue GeneL supercomputers
XL Fortran Advanced Edition for Linux XL Fortran Advanced Edition for Linuxsupports your choice of RHEL4 SLES9 and Y-HPC Linux distributions Advancedoptimization technology and VMX support help you create high-performance 32-bitand 64-bit applications that run efficiently on a variety of processor architecturesincluding IBMrsquos newest POWER5+ and PowerPC 970 processors and Apple PowerMac G5 and Xserve G5 systems
VS FORTRAN VS FORTRAN contains features geared to help Fortran program-mers develop applications more easily and efficiently while using the full power ofIBMrsquos large systems
The second web link has details of Fortran 2003 support
210 Intel
httpsoftwareintelcomen-usintel-compilers
Intel offers optimizing Fortran compilers for the IA-32 x64 and IA-64 (Intel Ita-nium) architectures running the Linux Mac OS X (IA-32 and x64) or Windows op-erating systems Intel Fortran is fully compliant with Fortran 95 and supports mostof Fortran 2003 as well as many popular extensions The compiler offers automaticparallelization and vectorization and supports OpenMP 30 as well as generatingoptimized code for the latest Intel processors and compatible non-Intel processors
On all platforms the Intel Fortran compiler includes the Intel Math Kernel Li-brary a library of highly optimized extensively threaded math routines for scienceengineering and financial applications The IMSL Fortran Numeric Library 60 fromVisual Numerics is an option on Windows
On Windows the compiler integrates into Microsoft Visual Studio 2003 2005 or2008 and includes a self-sufficient Fortran development environment based on Mi-crosoft Visual Studio 2008 The Windows compiler also provides mechanisms tointerface Fortran code with the Microsoft COM and NET environments Academicand student pricing is available
211 LaheyFujitsu
httpwwwlaheycom
LaheyFujitsu Fortran 95 is produced by the LaheyFujitsu alliance LF95 is avail-able in three Windows configurations Express Standard and PRO and two Linuxconfigurations Express and PRO All configurations feature VAX IBM and POSIXlanguage extensions allocatable array enhancements etc The Windows and LinuxExpress version is command line only and features the compiler linker and debug-ger PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-
22 CHAPTER 2 COMPILERS
TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creatingtrue Windows programs with Fortran and a Coverage Analysis Tool that detects un-executed code and performs range of operation checking The PRO is compatible withVisual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 Math Libraryand Visual Analyzer (see below) The PRO Linux version offers auto-parallelizationOpenMP compatibility thread-safe BLAS and LAPACK WiSK AUTOMAKE andFujitsus SSL2 All products come with free technical support and are available at Also available is a subset compiler elf90
It would appear that the Windows version is no longer under active developmentThe last update was dated December 2004
212 NAG
httpwwwnagcouknagwareasp
The NAG Fortran Compiler derived from the worldrsquos first Fortran 90 Compilerfrom NAG is robust highly tested and valued by developers all over the globe forits checking capabilities and detailed error reporting Available on a wide range ofUnix and Windows platforms it accepts fixed or free format Fortran 95 input andmany common Fortran 77 extensions are allowed A large number of Fortran 2003language features are now available HPF code is also compiled and checked thoughonly single processor output is generated The 53 release supports a good workingsubset of OpenMP 3
The following versions are availableApple Intel Mac64 Release 53 gcc 42HP PA-RISC 11 Release 51 HP ANSI CIBM Power AIX Release 51 AIX XL C 60IBM Z9 Linux Release 51 gcc 346IBM Z9 Open Edition Release 52 IBM CLinux x86-32 Release 53 gcc 322Linux64 Release 53 gcc 412Sun SPARC Solaris Release 52 gcc 342Sun SPARC Solaris Release 52 Sun C v 55x86 and x86-64 Windows Release 53An integrated Fortran IDE is also available for Windows
httpwwwnagcouknagwarenpfortranbuilderasp
213 NEC
httpwwwneccom
214 ORACLE - ORIGINALLY SUN 23
NEC has a native optimizing Fortran 95 compiler FORTRAN90SX with anautomatic vectorization and parallelization capability for its supercomputer SX se-ries HPFSX V2 provides functions conforming to the specification of HPF11 andHPF20 and can be used with vector processing functions in SX Fortran and withparallel processing functions using microtasking
214 Oracle - originally Sun
httpwwworaclecomussunindexhtm
httpwwwsuncom
httpdeveloperssuncomsunstudio
httpdeveloperssuncomsunstudiodownloadsexpress
Sun Studio software delivers high-performance optimizing C C++ and Fortrancompilers for the Solaris OS on SPARC and both Solaris and Linux on x86x64platforms including the latest multi-core systems
Whatrsquos in Sun StudioAll Compilers - Specify 32-bit or 64-bit Address Model Auto-parallelization of
single-threaded code Flags Static data-race and deadlock-detection for x86 Mathand Visual Instruction Set Support in SPARC64 VI Option for Floating-Point Fusedor Multiply-Add Instructions Option for Thread Analyzer support Linux SupportOpenMP and OpenMPI suport Support for the directives clauses and attributes
Fortran Compiler - Interval arithmetic support on Solaris Intel platform Fastercompilation time for source files UNSIGNED arguments Backward compatibilitywith f77
C Compiler - More options Auto-parallelization of single-threaded code GNU Ccompatibility
C++ Compiler - More options ABI compatibility Compiler flags to optimize formulticore architectures Static linking the standard C++ runtime library
215 PathScale
httpwwwpathscalecomproductspathscale_compiler_suite
PathScalersquos goal is to make it easier to develop and deploy 64-bit applications intoclustered environments PathScale has developed the industryrsquos highest-performanceC C++ and Fortran 9X compilers for 64-bit Linux-based computer systems ThePathScale Compiler Suite shares its heritage with the well-known and mature SGIcompiler suite The PathScale Compiler Suite has been optimized for both the
24 CHAPTER 2 COMPILERS
AMD64 and EM64T architectures and has the worldrsquos most sophisticated optimiza-tion infrastructure
Unlike other compilers the PathScale Compiler Suite provides superior perfor-mance across both floating-point and integer-intensive applications Application de-velopers targeting 64-bit Linux servers will see immediate performance benefits fromcompiling with the PathScale compilers
The PathScale Compiler Suite includesC C++ and Fortran 779095 compilers Industry leading optimizations Com-
plete support for OpenMP 20 (including WORKSHARE) Complete support for 64-bit and 32-bit x86 compilation Code generation for AMD64 ABI AMD Opteronand Intel EM64T PathScale optimized AMD Core Math Library (available for down-load) Advanced serial debugger PathDB Compatible with GNUgcc tool chain andpopular Third Party debuggers Supported on SUSE RedHat and Fedora Linux Thecurrently shipping version of the PathScale Compiler Suite is
216 PGI
httpwwwpgroupcom
High-performance Optimizing Parallel Compilers For multi-core 64-bit x64 and 32-bit x86 processor-based Linux Mac OS X and Windows workstations servers andclusters PGI Workstation includes a single seat license for PGIrsquos suite of compilersand tools Also available with a multi-user network floating license (PGI Server)The PGI CDK Cluster Development Kit includes all the software for building andprogramming a turn-key Linux cluster PGI Visual Fortran fully integrates PGIparallel Fortran into Microsoft Windows using Microsoft Visual Studio 2005
217 Silverfrost nee Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
Salford Software markets FTN95 a Fortran 95 compiler for Win32 running onWindows 95NT2000XP PCs It has announced its Fortran 95 compiler for Mi-crosoft NET (FTN95 for NET) This compiler will produce fast executables fromsource files that may be any combination of Fortran 77 Fortran 90 and Fortran 95FTN95 for NET including integrated Help and Debugger is supplied bundled withFTN95 for Win32 and optionally with Microsoft Visual Studio for NET A low-costfully-featured personal edition is also available
218 SGI
httpwwwsgicomproductssoftwareirixtoolsfortranhtml
219 SUN - SEE ORACLE 25
MIPSpro Fortran Compilers This 64-bit ANSI Fortran 77 compiler is ideal forsystems running IRIX 6x It is compatible with VAXVMS Fortran and supportsCray extensions The 74 version of the MIPSpro Fortran 77 and Fortran 90 compilersnow support the OpenMP 20 standard Among the new features introduced in theOpenMP 20 specification are
WORKSHARE directive COPYPRIVATE clause for the broadcast of sequentialreads Portable timing routines MIPSpro Fortran 90 Compiler A 64 bit ANSI Fortran90 compiler with additional support for user-defined multiprocessing directives forsystems running IRIX 6x Compatible with VAXVMS Fortran and supports Crayextensions With the release of version 74 Fortran 90 specific support under theOpenMP 20 standard are
Parallelization of F90 array syntax via the WORKSHARE directive Privatizationof deferred shape and assumed shape objects The full Fortran 20 specification canobtained from the OpenMP Web site at httpwwwopenmporg
For more information read about the MIPSpro compilers
219 Sun - see Oracle
220 No longer available
2201 Apogee
httpwwwapogeecom
Features of the FORTRAN 7790 CompilerNo longer available Originally available for the SolarisSPARC platforms the
compiler conforms to Sunrsquos Solaris ABI and produces assembler code files acceptableto Sunrsquos Solaris assembler When used in the FORTRAN 77 compilation modethe compiler is compliant with the MIL-STD 1753 FORTRAN 77 and accepts mostFORTRAN 77 extensions of Sun IBM and other F77 compilers The supportedF77 extensions include structures length qualification on types additional data andconstant types initializations in type statements additional statements (END DODO WHILE POINTER VOLATILE etc) computations with aggregates namelist-directed IOs and debugging statements
When used in the Fortran 90 mode the compiler is compliant with the ANSIISOFortran 90 standard
2202 Compaq
This compiler is no longer under development This ceased when Intel bought outthe technology from HP Still widely used with legacy software Copies for sale canbe found on Ebay and similar vites
26 CHAPTER 2 COMPILERS
2203 EPC
Edinburgh Portable Compilers was an early vendor to produce a Fortran 90 compila-tion system A report by Adam Marshall from Liverpool University has a comparisionof several early Fortran 90 compilers It can be found at the address below
httpwwwlivacukHPCFortranCompilerStudyHTMLFortranCompilerStudyHTMLhtml
2204 NA Software
httpwwwnasoftwarecoukhomehtml
No longer available
Chapter 3
Fortran aware editors and IDEs
bull Version 15 October 2011 Updated photran entry
bull Version 14 July 2010 Added SunStudio Express entry
bull Version 131 April 2006 Added Windows Zeus entry
31 Windows
311 Absoft Editor (ae)
httpwwwabsoftcom
312 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
313 compaq visual fortran 6x
Nolongeravailable
314 editeur
wwwstudiowarecom
315 emacsxemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
316 emacsxemacs - cygwin components
httpwwwcygwincom
28 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
317 gvimvim - stand alone
httpwwwvimorg
318 gvimvim - cygwin component
httpwwwcygwincom
319 jed wjed (Windows)
httpwwwjedsoftorgjed
3110 lahey ed
httpwwwlaheycom
3111 microsoft visual studio 6
No longer available
3112 Microsoft Visual StudioNET
There are a number of vendors that have provided integration with Microsoft VisualStudio NET These include
Intel Visual Fortranwwwintelcom
LaheyFujitsu Fortranwwwlaheycom
Silverfrost Salford FTN95httpwwwsilverfrostcom11ftn95overviewasp
3113 nedit - cygwin
httpwwwneditorg
3114 ntemacs
httpwwwgnuorgsoftwareemacswindowsntemacshtml
3115 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
32 LINUXUNIX 29
3116 salford plato
httpwwwsilverfrostcom11ftn95overviewasp
3117 Oracle Solaris Studio Express
httpdeveloperssuncomsunstudiodownloadsexpress
3118 UltraEdit
wwwultraeditcom
3119 xemacsemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
3120 xemacsemacs - cygwin components
httpwwwcygwincom
3121 Zeus ide
httpwwwzeuseditcomfortranhtml
32 LinuxUnix
321 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
322 emacsxemacs
httpwwwgnuorgsoftwareemacsemacshtml
323 jed xjed (Unix(all flavours)OpenVMS) wjed (Win-dows)
httpwwwjedsoftorgjed
324 nedit
httpwwwneditorg
30 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
325 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
33 Apple OS X
331 Absoft Editor
httpwwwabsoftcom
332 BBEdit
httpwwwapplecomdownloadsmacosxproductivity_toolsbbedithtml
httpwwwbarebonescomproductsbbeditindexshtml
333 emacsxemacs
pre-installed
334 Photran
wwwphotranorg
335 Smultron
httpsmultronsourceforgenet
336 TextMate
httpmacromatescom
337 TextWrangler
httpwwwapplecomdownloadsmacosxproductivity_toolstextwranglerhtml
httpwwwbarebonescomproductstextwranglerindexshtml
338 Vim
Pre-installed
33 APPLE OS X 31
339 Xcode
httpdeveloperapplecom
3310 xemacsemacs
pre-installed
32 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
Chapter 4
Commercial Courses
bull Version 14 August 2012 Updated several entries
bull Version 13 November 2011 Notified by Shaun Forth at Cranfield of theirchanges Also added the HECToR entries
bull Version 12 August 2010
bull Version 11 September 2008
bull Version 10 January 2006
41 Ian Chivers and Jane Sleightholme
Ian Chivers and Jane Sleightholme are available to do tailored on site courses Coursesinclude
bull Introduction to Modern Programming in Fortran
bull Advanced Features of Modern Fortran
See
httpwwwfortranpluscouk
42 Cranfield University
Cranfield University offers four Fortran programming courses
bull Introduction to Programming in Fortran 95 and 2003 (3 days)
bull Advanced Programming in Fortran 95 and 2003 (3 days)
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
2
Contents
1 Books 911 Fortran 2003 and 2008 - English 912 Fortran 95 - English 1013 Fortran 90 - English 1114 English books on related topics 1215 Chinese 1316 Dutch 1317 Finnish 1318 French 1319 German 14110 Italian 15111 Japanese 15112 Russian 15113 Swedish 15
2 Compilers 1721 Introduction 1722 Absoft 1723 Cray 1824 Fortran Company 1825 Fujitsu 1826 Gnu Fortran 95 1927 g95 1928 Hewlett Packard 2029 IBM 20210 Intel 21211 LaheyFujitsu 21212 NAG 22213 NEC 22214 Oracle - originally Sun 23215 PathScale 23216 PGI 24217 Silverfrost nee Salford Software 24218 SGI 24219 Sun - see Oracle 25
4 CONTENTS
220 No longer available 252201 Apogee 252202 Compaq 252203 EPC 262204 NA Software 26
3 Fortran aware editors and IDEs 2731 Windows 27
311 Absoft Editor (ae) 27312 CRiSP 27313 compaq visual fortran 6x 27314 editeur 27315 emacsxemacs - stand alone 27316 emacsxemacs - cygwin components 27317 gvimvim - stand alone 28318 gvimvim - cygwin component 28319 jed wjed (Windows) 283110 lahey ed 283111 microsoft visual studio 6 283112 Microsoft Visual StudioNET 283113 nedit - cygwin 283114 ntemacs 283115 photran 283116 salford plato 293117 Oracle Solaris Studio Express 293118 UltraEdit 293119 xemacsemacs - stand alone 293120 xemacsemacs - cygwin components 293121 Zeus ide 29
32 LinuxUnix 29321 CRiSP 29322 emacsxemacs 29323 jed xjed (Unix(all flavours)OpenVMS) wjed (Windows) 29324 nedit 29325 photran 30
33 Apple OS X 30331 Absoft Editor 30332 BBEdit 30333 emacsxemacs 30334 Photran 30335 Smultron 30336 TextMate 30337 TextWrangler 30338 Vim 30339 Xcode 31
CONTENTS 5
3310 xemacsemacs 31
4 Commercial Courses 3341 Ian Chivers and Jane Sleightholme 3342 Cranfield University 3343 The Fortran Company 3444 Hector 3445 Lahey 3546 Michael Metcalf 3547 Nihon NAG Numerical Algorithms Group Japan 3548 PTR Associates 3549 Purple Sage Computing Solutions Inc 36410 John Reid 36411 France 36412 Japan 36
4121 Nihon NAG Numerical Algorithms Group Japan 36
5 On Line Training Material 3951 CERN 3952 Paul Dubois 3953 Linkoping University 3954 Liverpool University 3955 French 40
6 Graphics and Windows Programming 4161 Introduction 4162 dislin 41
621 Worked examples 4263 gino 42
631 Documentation 42632 Worked examples 42
64 ginomenu 42641 Documentation 43
65 interacter 43651 Documentation 43652 Worked examples 43
66 opengl 43661 Documentation 43662 Worked examples 43663 Documentation 44664 Worked examples 44
67 realwin 44671 Documentation 44672 Worked examples 44
68 toolmaster 45
6 CONTENTS
681 Documentation 45
682 Worked examples 45
69 winteracter 45
691 Documentation 45
692 Worked examples 45
610 Microsoft Windows graphics programming 45
6101 LaheyFujitsu 46
6102 Salford Software 46
7 Parallel Programming 47
71 Introduction 47
711 Books 48
72 Automatic 48
73 Coarray Fortran 49
74 HPF 49
75 MPI 49
751 Books 49
752 Courses 50
753 Requirements 50
76 OpenMP 50
761 Books 51
762 Courses 51
763 Resources 51
764 Requirements 52
77 Posix Threads 52
78 Notes on the table below 52
79 Table of compilers and supported parallel options 54
710 Parallelisation Tools 55
7101 Crescent Bay Software 55
7102 Parallel Software Products 56
8 Fortran Software Tools 57
81 Refactoring 57
82 Convert 57
83 Forcheck 58
84 FOR STRUCT 58
85 FOR STUDY 58
86 Fortran90-lint 58
87 NAGWare Fortran Tools 58
88 photran 58
89 plusFORT 59
810 VAST77to90 59
CONTENTS 7
9 Fortran Electronic Lists 6191 comp-fortran-90 6192 complangfortran 6193 LinkedIn 6294 Compiler specific 62
941 Absoft 62942 Apogee 63943 Compaq 63944 Cray 63945 Fortran Company 63946 Fujitsu 63947 Gnu Fortran 95 63948 G95 63949 Hewlett Packard 639410 IBM 639411 Intel 649412 Lahey Fujitsu 649413 NAG 649414 NA Software 649415 NEC 649416 Pathscale 649417 PGI 649418 Salford Software 649419 SGI 659420 SUN 65
10 Fortran Standard Bodies 67101 Introduction 67102 WG5 67103 PL223 67
11 Other Web Links 71111 Fortran History 71
1111 A brief history of FORTRAN-Fortran 711112 Computer Languages History (preview) 711113 Computer Languages History 711114 Fortran A few historical details 711115 Open Directory - Fortran Tutorials Fortran 90 and 95 711116 Open Directory - Fortran 711117 The Fortran (not the foresight) saga 72
112 Computer Arithmetic 721121 What every computer scientist should know about floating point arithmetic 721122 IEEE 754r - Wikipedia the free encyclopedia 721123 IEEE 754 Standard for Binary Floating-Point Arithmetic 721124 IEEE Standard 754 Floating-Point 72
8 CONTENTS
1125 William Kahan 721126 IEEE 754 floating-point test software 721127 Interval FAQ from Alejandro Casares ndash What machines support IEEE 754 721128 Decimal Arithmetic - FAQ 1 721129 General Decimal Arithmetic 72
113 Programming 731131 Calling FORTAN and C from Java 731132 CS 267 Applications of Parallel Computers 731133 Hillsidenet - Design Patterns Book - DP Book 731134 Hillsidenet - Design Patterns Book - Source 731135 Home page of Les Hatton 731136 Parallel Programming - Basic Theory For The Unwary 731137 Putting a Java Interface on your C C++ or Fortran Code 731138 Teach Yourself Programming in Ten Years 73
Chapter 1
Books
bull Version 17 August 2012 Added Section 11 Chivers Added Section 11 Mar-cus
bull Version 16 January 2012 Added Section 15 Chivers
bull Version 15 October 2011 Added Section 11 Chivers Added Section 11 Cler-man Added Section 11 Gnu Fortran Added Section 11 Rouson Added Section12 Lakshmivarahan
bull Version 14 July 2010 Added Section 11 Brainerd Added Section 11 McCor-mmack Added Section 11 Ray Added Section 12 Rajaram Added Section13 Barlow et al Added Section 14 Chandra et al Added Section 14 Chapmanet al
bull Version 13 June 2009 Removed invalid web address in Morgan and Schonfelderentry Corrected spelling in Chinese entry
bull Version 12 September 2008 Added Section 11 Adams et al Added Section110 Ciaburro
bull Version 11 September 2007 Added Section 11 Chapman Added Section 12Lemmon
11 Fortran 2003 and 2008 - English
bull Adams JC Brainerd WS Hendrickson RA Maine RE Martin JTSmith BT The Fortran 2003 Handbook The Complete Syntax Features andProcedures 2008 Springer Verlag ISBN 978-1-84628-378-9
bull Brainerd WS Guide to Fortran 2003 Programming 2009 Springer VerlagISBN 978-1-84882-542-0
bull Chapman SJ Fortran 952003 For Scientists and Engineers 2007 McGraw-Hill ISBN 978-0073191577 ISBN 0073191574
10 CHAPTER 1 BOOKS
bull Chivers ID Sleightholme J Introduction to Programming with Fortran Withcoverage of Fortran 90 95 2003 2008 and 77 2012 Springer Verlag ISBN-100857292323 ISBN-13 978-0857292322 Second Edition
bull Chivers ID Sleightholme J Introduction to Programming with Fortran Withcoverage of Fortran 90 95 2003 and 77 2006 Springer Verlag ISBN 1-84628-053-2 First Edition
bull Clerman NS Spector W Modern Fortran Style and Usage Cambridge Uni-versity Press 2011 ISBN-10 052173052X ISBN-13 978-0521730525
bull Gnu Fortran Team Using Gnu Fortran Manual For Gcc Version 433 Cre-ateSpace ISBN-10 1441412662 ISBN-13 978-1441412669 2009
bull McCormack D Scientific Software Development with Fortran 2009 ISBN 978-1-4452-5445-6
bull Metcalf M Reid J and Cohen M Fortran 952003 Explained 2004 OxfordUniversity Press ISBN 0-19-852693-8 ISBN 0-19-852692-X
bull Marcus A Modern Fortran in Practice 2012 Cambridge University PressISBN-10 1107017904 ISBN-13 978-1107017900
bull Ray S A Textbook on Fortran 2003 2009 Alpha Science International ISBN978-1-84265-479-8
bull Rouson D Xia J Xu X Scientific Software Design The Object-OrientedWay Cambridge University Press 2011 ISBN-10 0521888131 ISBN-13 978-0521888134
12 Fortran 95 - English
bull Adams JC Brainerd WS Martin JT Smith BT and Wagener JL Fortran95 Handbook 1997 MIT ISBN 0-262-51096-0
bull Adams JC Brainerd WS Martin JTand Smith BT Fortran Top 95 NinetyFive Key Features of Fortran 95 $10 The book is only available in PDF formfrom the Fortran Store httpwwwfortrancom
bull Akin E Object Oriented Programming via Fortran 9095 2003 CambridgeUniversity Press ISBN 0-521-52408-3
bull Chapman S J Fortran 9095 for Scientists and Engineers 2004 McGraw HillISBN 0-07-282575-8
bull Chapman SJ Introduction to Fortran 9095 1997 McGraw-Hill 1997 ISBN0-07-011969-4
13 FORTRAN 90 - ENGLISH 11
bull Chivers ID Sleightholme J Introducing Fortran 95 2000 Springer VerlagISBN 185233276X
bull Counihan M Fortran 95 1997 UCL ISBN 185728367-8
bull Etzel M Dickinson K Digital Visual Fortran 90 Programmerrsquos Guide 1999Digital Press ISBN 1-55558-218-4
bull Gehrke Fortran 95 Language Guide 1996 Springer ISBN 3-540-76062-8
bull Lakshmivarahan S Sudarshan K Dhall Programming in Fortran 9095 Pub-lisher Pearson Custom Publishing (2002) ASIN B000XM3WZ0
bull Lawrence N Compaq Visual Fortran A Guide to Creating Windows Applica-tions 2001 Digital Press ISBN 1-55558-249-4
bull Lemmon DRSchafer JL Developing Statistical Software in Fortran 95 2005Springer ISBN-10 0387238174 ISBN-13 978-0387238173
bull Metcalf M Reid J Fortran 9095 Explained 1999 Oxford University PressISBN 0-19-850558-2
bull Morgan amp Schonfelder Programming in Fortran 9095 available in AcrobatPDF format from httpwwwfortrancom
bull Rajaram V Computer Programming in Fortran 90 and 95 2004 Prentice HallISBN 978-8120311817
bull Vowels R Introduction to Fortran 9095 Algorithms and Structured Pro-gramming Part 1 Introduction to Fortran 90 Part 2 Algorithms and Fortran90 ISBN 0-9596384-8-2
13 Fortran 90 - English
bull Barlow RJ Barnett AR Computing for Scientists Principles of Program-ming with Fortran 90 and C++ 1998 Wiley Blackwell ISBN 978-0471955962
bull Adams Brainerd Martin Smith and Wagener Fortran 90 Handbook 1992McGraw Hill ISBN 0-07-000406-4
bull Brainerd Goldberg and Adams Programmers Guide to Fortran 90 1996Springer ISBN 0-387-94570-9
bull Brainerd Goldberg and Adams Programmers Guide to Fortran 90 1994 Uni-comp ISBN 0-07-000248-7
bull Brooks Problem solving with Fortran 90 for scientists and engineers 1997Springer ISBN 0-387-98229-9
12 CHAPTER 1 BOOKS
bull Chivers ID Sleightholme J Introducing Fortran 90 1995 Springer ISBN3-540-19940-3
bull Ellis Philips Lahey Fortran 90 Programming 1994 Addison Wesley ISBN0-201-54446-6
bull Etter Fortran 90 for Engineers 1995 BenjaminCummings ISBN 0-201544-46-6
bull Gehrke Fortran 90 Language Guide 1996 Springer ISBN 3-540-19926-8
bull Hahn DB Fortran 90 for Scientists and Engineers 1994 Edward Arnold ISBN0-340-60034-9
bull Huddleston Fortran 90 1996 Exchange Publ Div ISBN 0-945261-07-1
bull Kerrigan JF Migrating to Fortran 90 1993 OrsquoReilly ISBN 1-56592-049-X
bull Meissner LP Fortran 90 1995 PWS Kent ISBN 0-534-93372-6
bull Metcalf M Reid J Fortran 90 Explained 1990 Oxford University Press ISBN0-19-853772-7
bull Morgan amp Schonfelder Programming in Fortran 90 1993 Alfe4d Waller ISBN1-872474-06-3
bull Nyhoff Leestma Fortran 90 for Engineers and Scientists1 1996 PrenticeHall ISBN 0-13-519729-5
bull Nyhoff Leestma An introduction to Fortran 90 for Engineers and Scientists1996 Prentice Hall ISBN 0-13-505215-7
bull Redwine Upgrading to Fortran 90 1995 Springer-Verlag ISBN 0-387-97995-6
bull Schick Silverman Fortran 90 and Engineering Computation 1994 JohnWiley ISBN 0-471-58512-2
bull Smith IM Programming in Fortran 90 Wiley ISBN 0471-94185-9
bull Wagener Fortran 90 Concise Reference 1998 Absoft ISBN 0-9670066-0-0
14 English books on related topics
bull Advanced Scientific Computing - Wille Wiley 1995 ISBN 0471-95383-0
bull Atlas for Computing Mathematical Functions in Fortran 90 and Mathematica- Thompson Wiley 1997 0-471-18171-4
15 CHINESE 13
bull Contemporary Computing for Technical Engineers and Scientists using Fortran90 and spreadsheets - Forsythe PWS 1997 0-534-93139-1
bull Numerical Recipes in Fortran 90 The Art of Parallel Scientific ComputingVolume 2 of Fortran Numerical Recipes - Press Teukolsky Vetterling and Flan-nery Cambridge U Press ISBN 0-521-57439-0 1996 Code can be downloaded(purchased) from httpwwwnrcom A CDROM is also available (see Website)
15 Chinese
bull Introduction to Programming with Fortran with coverage of Fortran 90 952003 and 77 Ian Chivers and Jane Sleightholme Posts and Telecom Pressand Springer-Verlag London 2009 ISBN 978-7-115-21227-6 (A translation ofIntroduction to Programming in Fortran)
bull Programming Language Fortran 90 - He Xingui Xu Zuyuan Wu Qingbao andChen Ming yuan China Railway Publishing House Beijing ISBN 7-113-01788-6TP187 1994
bull Fortran 90 - Walter S Brainerd Charles H Goldberg Jeanne C Adams CHEPBeijing and Springer Berlin 2000 ISBN 7-04-007937-2 (a translation of Pro-grammerrsquos Guide to Fortran 90)
16 Dutch
bull Fortran 90 - WS Brainerd ChH Goldberg and JC Adams translated byJM den Haan Academic Service 1991 ISBN 90 6233 722 8
17 Finnish
bull Fortran 9095 - Juha Haataja Jussi Rahola and Juha Ruokolainen Center forScientific Computing (Finland) 2001 339 pages 3rd edition ISBN 952-9821-60-3 WWW version httpwwwcscfioppaatf95
18 French
bull Fortran 90 Approche par la Pratique - P Lignelet Srie Informatique ditionsMenton 1993 ISBN 2-909615-01-4
bull Fortran 90 Les concepts fondamentaux the translation of Fortran 90 Ex-plained M Metcalf J Reid translated by M Caillat and B Pichon AFNOR1993 Paris ISBN 2-12-486513-7
14 CHAPTER 1 BOOKS
bull Fortran 90 Initiation partir du Fortran 77 - Aberti Srie Informatique ditionsMenton 1992 ISBN 2-909615-00-6
bull Les spcificits du Fortran 90 M Dubesset et J Vignes ditions Technip 1993 ISBN 2-7108-0652-5
bull Manuel complet du langage Fortran 90 et guide dapplication P Lignelet SrieInformatique ditions 1995 ISBN 2-909615-02-2
bull Manuel Complet du Langage Fortran 90 et Fortran 95 Calcul intensif et GnieLogiciel P Lignelet Masson ditions Paris 1996 ISBN 2-225-85229-4
bull Programmer en Fortran 90 C Delannoy Eyrolles 1992 ISBN 2-212-08723-3
bull Traitement des donnes numriques avec Fortran 90 M Olagnon Masson ditions1996 ISBN 2-225-85259-6
bull Structures des donnes (et leurs algorithmes) en Fortran 9095 P LigneletMasson ditions Paris ISBN 2-225-85373-8
19 German
bull Fortran 90 Lehrbuch D Rabenstein Hanser 1995 ISBN 3-446-18235-7
bull Die Programmiersprache F W Gehrke Springer-Verlag ISBN 3-540-63376-6
bull Fortran 90 - BWojcieszynski and RWojcieszynski Addison-Wesley 1993 ISBN3-89319-600-5
bull Fortran 90 eine informelle Einfhrung M Heisterkamp BI-Wissenschaftsverlag1991 ISBN 3-411-15321-0
bull Fortran 90 Kurs technisch orientiert - G Schmitt Oldenbourg 1996 ISBN3-486-23896-5
bull Fortran 90 Lehr- und Arbeitsbuch fr das erfolgreiche Programmieren WSBrainerd CH Goldberg and JC Adams translated by Peter Thomas andKlaus G Paul R Olbenbourg Verlag Muenchen 1994 ISBN 3-486-22102-7
bull Fortran 90 Lehr- und Handbuch - T Michel BI-Wissenschaftsverlag 1994
bull Fortran 90 Referenz-Handbuch der neue Fortran-Standard W Gehrke CarlHansen Verlag 1991 ISBN3-446-16321-2
bull Programmierung in Fortran 90 - Schobert Oldenburg 1991
bull Programmierung mit Fortran 90 - Bumer Vieweg Braunschweig 1997 ISBN3-528-05208-2
110 ITALIAN 15
bull Programmieren in Fortran - Erasmus Langer Springer-Verlag Wien New York1993 ISBN 3-211-82446-4 0-387-82446-4
bull Software Entwicklung in Fortran 90 - berhuber and Meditz Springer Verlag1993 ISBN 0-387-82450-2
110 Italian
bull Some resources in Italian including a manual are at
httpspacetinitcomputergciabu
bull Programmare con Fortran G Ciaburro FAG 2008 ISBN 9788882336882
wwwciaburroitf90librohtm
httpwwwibsitcode9788882336882ciaburro-giuseppeprogrammare-con-fortranhtml
111 Japanese
bull Fortran 90 Explained - Metcalf and Reid translated by H Nisimura H WadaK Nishimura M Takata Kyoritsu Shuppan Co Ltd 1993 ISSN 0385-6984
112 Russian
bull An Explanation of the Fortran 90 Programming Language (translation of For-tran 90 Explained - Metcalf and Reid) translated P Gorbounov Mir Moscow1995 ISBN 5-03-001426-8 Available also from PetrGorbounovcernch
bull FORTRAN 77 to Fortran 90 Tutorial - Einarsson and Shokin Russian Academyof Sciences Novosibirsk 1995 ISBN 5-85826-013-6
113 Swedish
bull Fortran 90 - en introduktion - Blom Studentlitteratur Lund 1994 ISBN 91-44-47881-X
16 CHAPTER 1 BOOKS
Chapter 2
Compilers
bull Version 110 August 2012 Updated Nag entry 53 release supports openMPAlso updated product availability entry
bull Version 19 November 2010 Updated Absoft in response to an email fromWood Lotz
bull Version 18 July 2010 Updated Sun to reflect takeover by Oracle UpdatedSalford to reflect Silverfrost rebranding
bull Version 17 June 2009 Updated the Cray and Intel entries Added a newsection on compilers that are no longer available This has involved moving theentries on Apogee Compaq and NA Software into this section For historicalcompleteness wersquove also added an entry for EPC to this section
bull Version 16 September 2008 Updated the NAG entry with more details of theFortran Builder IDE
bull Version 15 September 2007 Updated Absoft Entry Compaq Fortran Com-pany Fujitsu Gnu Fortran 95 G95 IBM Intel LaheyFujitsu NAG NASoftware NEC Pathscale PGI SalfordSilverfrost SGI Sun
21 Introduction
The following is a list of companies and organisations that provide Fortran compilersthat conform to the Fortran 90 95 2003 and 2008 standards Fortran Forum hasa more or less standing table on compilers that support features from the 2003 and2008 standards The gfortran g95 and Sun compilers are free for Linux and gfortranand g95 are free for Windows
22 Absoft
httpwwwabsoftcom
18 CHAPTER 2 COMPILERS
Absoft Pro Fortran is a complete tool suite designed to automate building par-allel code on Linux Windows or Mac OSIntel Absoft Rolls are also available forx64Linux Compilers are full F95 include all popular legacy extensions many fromF2003 and are fully link and debug compatible with the host (Linux Microsoft MacOS) tool chain Compilers offer automatic parallelization vectorization OpenMP 30GPU support and Absoft application performance is consistently rated 1 on AMDand Intel systems by third party benchmarks IDE includes SMP graphical analyzerFx3 graphical multi-language debugger programmers editor several Fortran specificfeatures OpenMP and MPI controls math libraries VAXUnix libraries and 2D3Dgraphics Same look feel and functionality on all systems Nothing else to buy orlearn IMSL numerical libraries are a bundle option on all platforms
23 Cray
httpwwwcraycom
Cray has a fully optimizing Fortran 2003 compiler available for the Cray XT seriessystems This compiler also supports OpenMP and several Fortran 2008 featuresincluding submodules and coarrays
Cray has a fully-optimizing Fortran 95 compiler available for the Cray PVP (J90SV1) T3E and X1 systems The PVP compiler supports automatic parallization andOpenMP The T3E compiler supports coarrays The X1 compiler supports automaticstreaming OpenMP coarrays and many Fortran 2003 featuresrdquo
24 Fortran Company
httpwwwfortrancom
The Fortran Company offers F the subset language for Unix and Windows somein highly optimizing versions All of the full professional versions of the F compilerare available free by downloading them from the F anonymous ftp directory
The Fortran Tools include a Fortran 95 compiler with a graphical user interfacethat runs on Linux or Windows on a CD The CD also includes several Fortran booksin PDF format and many tools such as Matran a matrix computation library thatuses the highly tuned Atlas libraries a plotting package and a library of routines tocreate GUIs for your Fortran application programs
25 Fujitsu
httpwwwfujitsucomglobal
26 GNU FORTRAN 95 19
Fortran 95 (Solaris) A powerful updated development system used for FORTRANproductive applications Current version Sun Studio 9
The ISO Fortran 95 Standard is fully supported additionally there are enhance-ments for Fortran77 such as pointersstructures binaryoctalhexadecimal constantsetc High optimization includes automatic parallelization and OpenMP support AFortran runtime system optimized for UltraSPARC is now also included in the pack-age The development environment consists of the following components
Workbench An integral development environment for the CC++ and Fortrancompilers for compiler control program execution debugging performance analysiscoverage etc with a Motif-based graphical user interface (GUI)
Visual Analyzer A development and migration tool for CC++ and Fortranprograms The enclosed Source Analyzer allows the static program structure and theglobal data relations to be visualized It contains a class browser cross referencesand a calling graph viewer
Parallel Analyser Consists of an integrated development environment for theOpenMP programming It contains a manager a debugger and a profiler
Fujitsu also has a Fortran 95 compiler for Linux and a highly optimized nativeFortran 95 compiler FortranVPP and HPF for its VPP supercomputers
26 Gnu Fortran 95
httpgccgnuorgwikiGFortran
httpgccgnuorgfortran
Gfortran is the name of the GNU Fortran project developing a free Fortran 952003compiler for GCC the GNU Compiler Collection The gfortran development effortuses an open development environment in order to attract a larger team of devel-opers and to ensure that gfortran can work on multiple architectures and diverseenvironments The GNU Fortran 95 project or gfortran is developing a Fortran 95compiler front end as well as runtime libraries for GCC the GNU Compiler Col-lection Gfortran development is a part of the GNU project aiming to bring freenumber crunching to all GNU system variants The gfortran development effort usesan open development environment in order to attract a larger team of developers andto ensure that gfortran can work on multiple architectures and diverse environmentsIn particular the project wishes to reach the users of the Fortran 95 language beit in the scientific community in education or in a commercial environment Todaytruly free Fortran 90 or Fortran 95 compilers do not exist We are trying to makeone available to the Fortran community
27 g95
httpwwwg95org
20 CHAPTER 2 COMPILERS
g95 is a stable production Fortran 95 compiler available for multiple cpu architec-tures and operating systems Innovations and optimizations continue to be workedon Parts of the F2003 standard have been implemented in g95
28 Hewlett Packard
The web address that describes all of the compilers and supported hardware andoperating systems is
httph21007www2hpcomdspptechtech_TechSoftwareDetailPage_IDX11703623500h
HPrsquos Fortran products are available for multiple platforms Windows Tru64 UNIXAlphaServer systems Linux AlphaServer systems and HP OpenVMS (Alpha VAX)
Visual Fortran for WindowsFortran for Linux AlphaFortran for Tru64 UNIX AlphaFortran for HP OpenVMS AlphaFortran for HP OpenVMS IntegrityFortran for HP OpenVMS VAXFortran for HP-UXThe Windows product Compaq Visual Fortran includes the Microsoft Developer
Studio IDE which can be shared with Microsoft Visual C++ Parallel execution usingOpenMP-directed decomposition or HPF is included on the Tru64 UNIX platformOn Windows NT SMP parallel execution using directed decomposition is availablethrough Visual Compaq Fortran for Linux Alpha Systems is available as a freedownload under a Technology Enthusiast license for non-commercial use All Com-paq Fortran 95 products include the Compaq Extended Math Library of optimizedscientific subroutines and the allocatable array extensions
29 IBM
httpwww-306ibmcomsoftwareawdtoolsfortran
httpwww-306ibmcomsoftwareawdtoolsfortranxlfortranfeaturesf2003html
XL Fortran Enterprise Edition for AIX XL Fortran Enterprise Edition for AIX pro-vides industry-leading code optimization and tuning features a full implementationof the OpenMP API Version 25 Symmetric Multiprocessing (SMP) APIs directmanipulation of the floating-point status and control register 64-bit enablementasynchronous IO debug memory routines and many other features
XL Fortran Advanced Edition for Blue Gene XL Fortran Advanced Edition forBlue Gene is the latest addition to our XL Fortran compiler family It expands our
210 INTEL 21
proven XL Fortarn compiler technology to exploit the capabilities of the PowerPC440 and 440d processors used in IBM Blue GeneL supercomputers
XL Fortran Advanced Edition for Linux XL Fortran Advanced Edition for Linuxsupports your choice of RHEL4 SLES9 and Y-HPC Linux distributions Advancedoptimization technology and VMX support help you create high-performance 32-bitand 64-bit applications that run efficiently on a variety of processor architecturesincluding IBMrsquos newest POWER5+ and PowerPC 970 processors and Apple PowerMac G5 and Xserve G5 systems
VS FORTRAN VS FORTRAN contains features geared to help Fortran program-mers develop applications more easily and efficiently while using the full power ofIBMrsquos large systems
The second web link has details of Fortran 2003 support
210 Intel
httpsoftwareintelcomen-usintel-compilers
Intel offers optimizing Fortran compilers for the IA-32 x64 and IA-64 (Intel Ita-nium) architectures running the Linux Mac OS X (IA-32 and x64) or Windows op-erating systems Intel Fortran is fully compliant with Fortran 95 and supports mostof Fortran 2003 as well as many popular extensions The compiler offers automaticparallelization and vectorization and supports OpenMP 30 as well as generatingoptimized code for the latest Intel processors and compatible non-Intel processors
On all platforms the Intel Fortran compiler includes the Intel Math Kernel Li-brary a library of highly optimized extensively threaded math routines for scienceengineering and financial applications The IMSL Fortran Numeric Library 60 fromVisual Numerics is an option on Windows
On Windows the compiler integrates into Microsoft Visual Studio 2003 2005 or2008 and includes a self-sufficient Fortran development environment based on Mi-crosoft Visual Studio 2008 The Windows compiler also provides mechanisms tointerface Fortran code with the Microsoft COM and NET environments Academicand student pricing is available
211 LaheyFujitsu
httpwwwlaheycom
LaheyFujitsu Fortran 95 is produced by the LaheyFujitsu alliance LF95 is avail-able in three Windows configurations Express Standard and PRO and two Linuxconfigurations Express and PRO All configurations feature VAX IBM and POSIXlanguage extensions allocatable array enhancements etc The Windows and LinuxExpress version is command line only and features the compiler linker and debug-ger PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-
22 CHAPTER 2 COMPILERS
TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creatingtrue Windows programs with Fortran and a Coverage Analysis Tool that detects un-executed code and performs range of operation checking The PRO is compatible withVisual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 Math Libraryand Visual Analyzer (see below) The PRO Linux version offers auto-parallelizationOpenMP compatibility thread-safe BLAS and LAPACK WiSK AUTOMAKE andFujitsus SSL2 All products come with free technical support and are available at Also available is a subset compiler elf90
It would appear that the Windows version is no longer under active developmentThe last update was dated December 2004
212 NAG
httpwwwnagcouknagwareasp
The NAG Fortran Compiler derived from the worldrsquos first Fortran 90 Compilerfrom NAG is robust highly tested and valued by developers all over the globe forits checking capabilities and detailed error reporting Available on a wide range ofUnix and Windows platforms it accepts fixed or free format Fortran 95 input andmany common Fortran 77 extensions are allowed A large number of Fortran 2003language features are now available HPF code is also compiled and checked thoughonly single processor output is generated The 53 release supports a good workingsubset of OpenMP 3
The following versions are availableApple Intel Mac64 Release 53 gcc 42HP PA-RISC 11 Release 51 HP ANSI CIBM Power AIX Release 51 AIX XL C 60IBM Z9 Linux Release 51 gcc 346IBM Z9 Open Edition Release 52 IBM CLinux x86-32 Release 53 gcc 322Linux64 Release 53 gcc 412Sun SPARC Solaris Release 52 gcc 342Sun SPARC Solaris Release 52 Sun C v 55x86 and x86-64 Windows Release 53An integrated Fortran IDE is also available for Windows
httpwwwnagcouknagwarenpfortranbuilderasp
213 NEC
httpwwwneccom
214 ORACLE - ORIGINALLY SUN 23
NEC has a native optimizing Fortran 95 compiler FORTRAN90SX with anautomatic vectorization and parallelization capability for its supercomputer SX se-ries HPFSX V2 provides functions conforming to the specification of HPF11 andHPF20 and can be used with vector processing functions in SX Fortran and withparallel processing functions using microtasking
214 Oracle - originally Sun
httpwwworaclecomussunindexhtm
httpwwwsuncom
httpdeveloperssuncomsunstudio
httpdeveloperssuncomsunstudiodownloadsexpress
Sun Studio software delivers high-performance optimizing C C++ and Fortrancompilers for the Solaris OS on SPARC and both Solaris and Linux on x86x64platforms including the latest multi-core systems
Whatrsquos in Sun StudioAll Compilers - Specify 32-bit or 64-bit Address Model Auto-parallelization of
single-threaded code Flags Static data-race and deadlock-detection for x86 Mathand Visual Instruction Set Support in SPARC64 VI Option for Floating-Point Fusedor Multiply-Add Instructions Option for Thread Analyzer support Linux SupportOpenMP and OpenMPI suport Support for the directives clauses and attributes
Fortran Compiler - Interval arithmetic support on Solaris Intel platform Fastercompilation time for source files UNSIGNED arguments Backward compatibilitywith f77
C Compiler - More options Auto-parallelization of single-threaded code GNU Ccompatibility
C++ Compiler - More options ABI compatibility Compiler flags to optimize formulticore architectures Static linking the standard C++ runtime library
215 PathScale
httpwwwpathscalecomproductspathscale_compiler_suite
PathScalersquos goal is to make it easier to develop and deploy 64-bit applications intoclustered environments PathScale has developed the industryrsquos highest-performanceC C++ and Fortran 9X compilers for 64-bit Linux-based computer systems ThePathScale Compiler Suite shares its heritage with the well-known and mature SGIcompiler suite The PathScale Compiler Suite has been optimized for both the
24 CHAPTER 2 COMPILERS
AMD64 and EM64T architectures and has the worldrsquos most sophisticated optimiza-tion infrastructure
Unlike other compilers the PathScale Compiler Suite provides superior perfor-mance across both floating-point and integer-intensive applications Application de-velopers targeting 64-bit Linux servers will see immediate performance benefits fromcompiling with the PathScale compilers
The PathScale Compiler Suite includesC C++ and Fortran 779095 compilers Industry leading optimizations Com-
plete support for OpenMP 20 (including WORKSHARE) Complete support for 64-bit and 32-bit x86 compilation Code generation for AMD64 ABI AMD Opteronand Intel EM64T PathScale optimized AMD Core Math Library (available for down-load) Advanced serial debugger PathDB Compatible with GNUgcc tool chain andpopular Third Party debuggers Supported on SUSE RedHat and Fedora Linux Thecurrently shipping version of the PathScale Compiler Suite is
216 PGI
httpwwwpgroupcom
High-performance Optimizing Parallel Compilers For multi-core 64-bit x64 and 32-bit x86 processor-based Linux Mac OS X and Windows workstations servers andclusters PGI Workstation includes a single seat license for PGIrsquos suite of compilersand tools Also available with a multi-user network floating license (PGI Server)The PGI CDK Cluster Development Kit includes all the software for building andprogramming a turn-key Linux cluster PGI Visual Fortran fully integrates PGIparallel Fortran into Microsoft Windows using Microsoft Visual Studio 2005
217 Silverfrost nee Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
Salford Software markets FTN95 a Fortran 95 compiler for Win32 running onWindows 95NT2000XP PCs It has announced its Fortran 95 compiler for Mi-crosoft NET (FTN95 for NET) This compiler will produce fast executables fromsource files that may be any combination of Fortran 77 Fortran 90 and Fortran 95FTN95 for NET including integrated Help and Debugger is supplied bundled withFTN95 for Win32 and optionally with Microsoft Visual Studio for NET A low-costfully-featured personal edition is also available
218 SGI
httpwwwsgicomproductssoftwareirixtoolsfortranhtml
219 SUN - SEE ORACLE 25
MIPSpro Fortran Compilers This 64-bit ANSI Fortran 77 compiler is ideal forsystems running IRIX 6x It is compatible with VAXVMS Fortran and supportsCray extensions The 74 version of the MIPSpro Fortran 77 and Fortran 90 compilersnow support the OpenMP 20 standard Among the new features introduced in theOpenMP 20 specification are
WORKSHARE directive COPYPRIVATE clause for the broadcast of sequentialreads Portable timing routines MIPSpro Fortran 90 Compiler A 64 bit ANSI Fortran90 compiler with additional support for user-defined multiprocessing directives forsystems running IRIX 6x Compatible with VAXVMS Fortran and supports Crayextensions With the release of version 74 Fortran 90 specific support under theOpenMP 20 standard are
Parallelization of F90 array syntax via the WORKSHARE directive Privatizationof deferred shape and assumed shape objects The full Fortran 20 specification canobtained from the OpenMP Web site at httpwwwopenmporg
For more information read about the MIPSpro compilers
219 Sun - see Oracle
220 No longer available
2201 Apogee
httpwwwapogeecom
Features of the FORTRAN 7790 CompilerNo longer available Originally available for the SolarisSPARC platforms the
compiler conforms to Sunrsquos Solaris ABI and produces assembler code files acceptableto Sunrsquos Solaris assembler When used in the FORTRAN 77 compilation modethe compiler is compliant with the MIL-STD 1753 FORTRAN 77 and accepts mostFORTRAN 77 extensions of Sun IBM and other F77 compilers The supportedF77 extensions include structures length qualification on types additional data andconstant types initializations in type statements additional statements (END DODO WHILE POINTER VOLATILE etc) computations with aggregates namelist-directed IOs and debugging statements
When used in the Fortran 90 mode the compiler is compliant with the ANSIISOFortran 90 standard
2202 Compaq
This compiler is no longer under development This ceased when Intel bought outthe technology from HP Still widely used with legacy software Copies for sale canbe found on Ebay and similar vites
26 CHAPTER 2 COMPILERS
2203 EPC
Edinburgh Portable Compilers was an early vendor to produce a Fortran 90 compila-tion system A report by Adam Marshall from Liverpool University has a comparisionof several early Fortran 90 compilers It can be found at the address below
httpwwwlivacukHPCFortranCompilerStudyHTMLFortranCompilerStudyHTMLhtml
2204 NA Software
httpwwwnasoftwarecoukhomehtml
No longer available
Chapter 3
Fortran aware editors and IDEs
bull Version 15 October 2011 Updated photran entry
bull Version 14 July 2010 Added SunStudio Express entry
bull Version 131 April 2006 Added Windows Zeus entry
31 Windows
311 Absoft Editor (ae)
httpwwwabsoftcom
312 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
313 compaq visual fortran 6x
Nolongeravailable
314 editeur
wwwstudiowarecom
315 emacsxemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
316 emacsxemacs - cygwin components
httpwwwcygwincom
28 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
317 gvimvim - stand alone
httpwwwvimorg
318 gvimvim - cygwin component
httpwwwcygwincom
319 jed wjed (Windows)
httpwwwjedsoftorgjed
3110 lahey ed
httpwwwlaheycom
3111 microsoft visual studio 6
No longer available
3112 Microsoft Visual StudioNET
There are a number of vendors that have provided integration with Microsoft VisualStudio NET These include
Intel Visual Fortranwwwintelcom
LaheyFujitsu Fortranwwwlaheycom
Silverfrost Salford FTN95httpwwwsilverfrostcom11ftn95overviewasp
3113 nedit - cygwin
httpwwwneditorg
3114 ntemacs
httpwwwgnuorgsoftwareemacswindowsntemacshtml
3115 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
32 LINUXUNIX 29
3116 salford plato
httpwwwsilverfrostcom11ftn95overviewasp
3117 Oracle Solaris Studio Express
httpdeveloperssuncomsunstudiodownloadsexpress
3118 UltraEdit
wwwultraeditcom
3119 xemacsemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
3120 xemacsemacs - cygwin components
httpwwwcygwincom
3121 Zeus ide
httpwwwzeuseditcomfortranhtml
32 LinuxUnix
321 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
322 emacsxemacs
httpwwwgnuorgsoftwareemacsemacshtml
323 jed xjed (Unix(all flavours)OpenVMS) wjed (Win-dows)
httpwwwjedsoftorgjed
324 nedit
httpwwwneditorg
30 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
325 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
33 Apple OS X
331 Absoft Editor
httpwwwabsoftcom
332 BBEdit
httpwwwapplecomdownloadsmacosxproductivity_toolsbbedithtml
httpwwwbarebonescomproductsbbeditindexshtml
333 emacsxemacs
pre-installed
334 Photran
wwwphotranorg
335 Smultron
httpsmultronsourceforgenet
336 TextMate
httpmacromatescom
337 TextWrangler
httpwwwapplecomdownloadsmacosxproductivity_toolstextwranglerhtml
httpwwwbarebonescomproductstextwranglerindexshtml
338 Vim
Pre-installed
33 APPLE OS X 31
339 Xcode
httpdeveloperapplecom
3310 xemacsemacs
pre-installed
32 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
Chapter 4
Commercial Courses
bull Version 14 August 2012 Updated several entries
bull Version 13 November 2011 Notified by Shaun Forth at Cranfield of theirchanges Also added the HECToR entries
bull Version 12 August 2010
bull Version 11 September 2008
bull Version 10 January 2006
41 Ian Chivers and Jane Sleightholme
Ian Chivers and Jane Sleightholme are available to do tailored on site courses Coursesinclude
bull Introduction to Modern Programming in Fortran
bull Advanced Features of Modern Fortran
See
httpwwwfortranpluscouk
42 Cranfield University
Cranfield University offers four Fortran programming courses
bull Introduction to Programming in Fortran 95 and 2003 (3 days)
bull Advanced Programming in Fortran 95 and 2003 (3 days)
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
Contents
1 Books 911 Fortran 2003 and 2008 - English 912 Fortran 95 - English 1013 Fortran 90 - English 1114 English books on related topics 1215 Chinese 1316 Dutch 1317 Finnish 1318 French 1319 German 14110 Italian 15111 Japanese 15112 Russian 15113 Swedish 15
2 Compilers 1721 Introduction 1722 Absoft 1723 Cray 1824 Fortran Company 1825 Fujitsu 1826 Gnu Fortran 95 1927 g95 1928 Hewlett Packard 2029 IBM 20210 Intel 21211 LaheyFujitsu 21212 NAG 22213 NEC 22214 Oracle - originally Sun 23215 PathScale 23216 PGI 24217 Silverfrost nee Salford Software 24218 SGI 24219 Sun - see Oracle 25
4 CONTENTS
220 No longer available 252201 Apogee 252202 Compaq 252203 EPC 262204 NA Software 26
3 Fortran aware editors and IDEs 2731 Windows 27
311 Absoft Editor (ae) 27312 CRiSP 27313 compaq visual fortran 6x 27314 editeur 27315 emacsxemacs - stand alone 27316 emacsxemacs - cygwin components 27317 gvimvim - stand alone 28318 gvimvim - cygwin component 28319 jed wjed (Windows) 283110 lahey ed 283111 microsoft visual studio 6 283112 Microsoft Visual StudioNET 283113 nedit - cygwin 283114 ntemacs 283115 photran 283116 salford plato 293117 Oracle Solaris Studio Express 293118 UltraEdit 293119 xemacsemacs - stand alone 293120 xemacsemacs - cygwin components 293121 Zeus ide 29
32 LinuxUnix 29321 CRiSP 29322 emacsxemacs 29323 jed xjed (Unix(all flavours)OpenVMS) wjed (Windows) 29324 nedit 29325 photran 30
33 Apple OS X 30331 Absoft Editor 30332 BBEdit 30333 emacsxemacs 30334 Photran 30335 Smultron 30336 TextMate 30337 TextWrangler 30338 Vim 30339 Xcode 31
CONTENTS 5
3310 xemacsemacs 31
4 Commercial Courses 3341 Ian Chivers and Jane Sleightholme 3342 Cranfield University 3343 The Fortran Company 3444 Hector 3445 Lahey 3546 Michael Metcalf 3547 Nihon NAG Numerical Algorithms Group Japan 3548 PTR Associates 3549 Purple Sage Computing Solutions Inc 36410 John Reid 36411 France 36412 Japan 36
4121 Nihon NAG Numerical Algorithms Group Japan 36
5 On Line Training Material 3951 CERN 3952 Paul Dubois 3953 Linkoping University 3954 Liverpool University 3955 French 40
6 Graphics and Windows Programming 4161 Introduction 4162 dislin 41
621 Worked examples 4263 gino 42
631 Documentation 42632 Worked examples 42
64 ginomenu 42641 Documentation 43
65 interacter 43651 Documentation 43652 Worked examples 43
66 opengl 43661 Documentation 43662 Worked examples 43663 Documentation 44664 Worked examples 44
67 realwin 44671 Documentation 44672 Worked examples 44
68 toolmaster 45
6 CONTENTS
681 Documentation 45
682 Worked examples 45
69 winteracter 45
691 Documentation 45
692 Worked examples 45
610 Microsoft Windows graphics programming 45
6101 LaheyFujitsu 46
6102 Salford Software 46
7 Parallel Programming 47
71 Introduction 47
711 Books 48
72 Automatic 48
73 Coarray Fortran 49
74 HPF 49
75 MPI 49
751 Books 49
752 Courses 50
753 Requirements 50
76 OpenMP 50
761 Books 51
762 Courses 51
763 Resources 51
764 Requirements 52
77 Posix Threads 52
78 Notes on the table below 52
79 Table of compilers and supported parallel options 54
710 Parallelisation Tools 55
7101 Crescent Bay Software 55
7102 Parallel Software Products 56
8 Fortran Software Tools 57
81 Refactoring 57
82 Convert 57
83 Forcheck 58
84 FOR STRUCT 58
85 FOR STUDY 58
86 Fortran90-lint 58
87 NAGWare Fortran Tools 58
88 photran 58
89 plusFORT 59
810 VAST77to90 59
CONTENTS 7
9 Fortran Electronic Lists 6191 comp-fortran-90 6192 complangfortran 6193 LinkedIn 6294 Compiler specific 62
941 Absoft 62942 Apogee 63943 Compaq 63944 Cray 63945 Fortran Company 63946 Fujitsu 63947 Gnu Fortran 95 63948 G95 63949 Hewlett Packard 639410 IBM 639411 Intel 649412 Lahey Fujitsu 649413 NAG 649414 NA Software 649415 NEC 649416 Pathscale 649417 PGI 649418 Salford Software 649419 SGI 659420 SUN 65
10 Fortran Standard Bodies 67101 Introduction 67102 WG5 67103 PL223 67
11 Other Web Links 71111 Fortran History 71
1111 A brief history of FORTRAN-Fortran 711112 Computer Languages History (preview) 711113 Computer Languages History 711114 Fortran A few historical details 711115 Open Directory - Fortran Tutorials Fortran 90 and 95 711116 Open Directory - Fortran 711117 The Fortran (not the foresight) saga 72
112 Computer Arithmetic 721121 What every computer scientist should know about floating point arithmetic 721122 IEEE 754r - Wikipedia the free encyclopedia 721123 IEEE 754 Standard for Binary Floating-Point Arithmetic 721124 IEEE Standard 754 Floating-Point 72
8 CONTENTS
1125 William Kahan 721126 IEEE 754 floating-point test software 721127 Interval FAQ from Alejandro Casares ndash What machines support IEEE 754 721128 Decimal Arithmetic - FAQ 1 721129 General Decimal Arithmetic 72
113 Programming 731131 Calling FORTAN and C from Java 731132 CS 267 Applications of Parallel Computers 731133 Hillsidenet - Design Patterns Book - DP Book 731134 Hillsidenet - Design Patterns Book - Source 731135 Home page of Les Hatton 731136 Parallel Programming - Basic Theory For The Unwary 731137 Putting a Java Interface on your C C++ or Fortran Code 731138 Teach Yourself Programming in Ten Years 73
Chapter 1
Books
bull Version 17 August 2012 Added Section 11 Chivers Added Section 11 Mar-cus
bull Version 16 January 2012 Added Section 15 Chivers
bull Version 15 October 2011 Added Section 11 Chivers Added Section 11 Cler-man Added Section 11 Gnu Fortran Added Section 11 Rouson Added Section12 Lakshmivarahan
bull Version 14 July 2010 Added Section 11 Brainerd Added Section 11 McCor-mmack Added Section 11 Ray Added Section 12 Rajaram Added Section13 Barlow et al Added Section 14 Chandra et al Added Section 14 Chapmanet al
bull Version 13 June 2009 Removed invalid web address in Morgan and Schonfelderentry Corrected spelling in Chinese entry
bull Version 12 September 2008 Added Section 11 Adams et al Added Section110 Ciaburro
bull Version 11 September 2007 Added Section 11 Chapman Added Section 12Lemmon
11 Fortran 2003 and 2008 - English
bull Adams JC Brainerd WS Hendrickson RA Maine RE Martin JTSmith BT The Fortran 2003 Handbook The Complete Syntax Features andProcedures 2008 Springer Verlag ISBN 978-1-84628-378-9
bull Brainerd WS Guide to Fortran 2003 Programming 2009 Springer VerlagISBN 978-1-84882-542-0
bull Chapman SJ Fortran 952003 For Scientists and Engineers 2007 McGraw-Hill ISBN 978-0073191577 ISBN 0073191574
10 CHAPTER 1 BOOKS
bull Chivers ID Sleightholme J Introduction to Programming with Fortran Withcoverage of Fortran 90 95 2003 2008 and 77 2012 Springer Verlag ISBN-100857292323 ISBN-13 978-0857292322 Second Edition
bull Chivers ID Sleightholme J Introduction to Programming with Fortran Withcoverage of Fortran 90 95 2003 and 77 2006 Springer Verlag ISBN 1-84628-053-2 First Edition
bull Clerman NS Spector W Modern Fortran Style and Usage Cambridge Uni-versity Press 2011 ISBN-10 052173052X ISBN-13 978-0521730525
bull Gnu Fortran Team Using Gnu Fortran Manual For Gcc Version 433 Cre-ateSpace ISBN-10 1441412662 ISBN-13 978-1441412669 2009
bull McCormack D Scientific Software Development with Fortran 2009 ISBN 978-1-4452-5445-6
bull Metcalf M Reid J and Cohen M Fortran 952003 Explained 2004 OxfordUniversity Press ISBN 0-19-852693-8 ISBN 0-19-852692-X
bull Marcus A Modern Fortran in Practice 2012 Cambridge University PressISBN-10 1107017904 ISBN-13 978-1107017900
bull Ray S A Textbook on Fortran 2003 2009 Alpha Science International ISBN978-1-84265-479-8
bull Rouson D Xia J Xu X Scientific Software Design The Object-OrientedWay Cambridge University Press 2011 ISBN-10 0521888131 ISBN-13 978-0521888134
12 Fortran 95 - English
bull Adams JC Brainerd WS Martin JT Smith BT and Wagener JL Fortran95 Handbook 1997 MIT ISBN 0-262-51096-0
bull Adams JC Brainerd WS Martin JTand Smith BT Fortran Top 95 NinetyFive Key Features of Fortran 95 $10 The book is only available in PDF formfrom the Fortran Store httpwwwfortrancom
bull Akin E Object Oriented Programming via Fortran 9095 2003 CambridgeUniversity Press ISBN 0-521-52408-3
bull Chapman S J Fortran 9095 for Scientists and Engineers 2004 McGraw HillISBN 0-07-282575-8
bull Chapman SJ Introduction to Fortran 9095 1997 McGraw-Hill 1997 ISBN0-07-011969-4
13 FORTRAN 90 - ENGLISH 11
bull Chivers ID Sleightholme J Introducing Fortran 95 2000 Springer VerlagISBN 185233276X
bull Counihan M Fortran 95 1997 UCL ISBN 185728367-8
bull Etzel M Dickinson K Digital Visual Fortran 90 Programmerrsquos Guide 1999Digital Press ISBN 1-55558-218-4
bull Gehrke Fortran 95 Language Guide 1996 Springer ISBN 3-540-76062-8
bull Lakshmivarahan S Sudarshan K Dhall Programming in Fortran 9095 Pub-lisher Pearson Custom Publishing (2002) ASIN B000XM3WZ0
bull Lawrence N Compaq Visual Fortran A Guide to Creating Windows Applica-tions 2001 Digital Press ISBN 1-55558-249-4
bull Lemmon DRSchafer JL Developing Statistical Software in Fortran 95 2005Springer ISBN-10 0387238174 ISBN-13 978-0387238173
bull Metcalf M Reid J Fortran 9095 Explained 1999 Oxford University PressISBN 0-19-850558-2
bull Morgan amp Schonfelder Programming in Fortran 9095 available in AcrobatPDF format from httpwwwfortrancom
bull Rajaram V Computer Programming in Fortran 90 and 95 2004 Prentice HallISBN 978-8120311817
bull Vowels R Introduction to Fortran 9095 Algorithms and Structured Pro-gramming Part 1 Introduction to Fortran 90 Part 2 Algorithms and Fortran90 ISBN 0-9596384-8-2
13 Fortran 90 - English
bull Barlow RJ Barnett AR Computing for Scientists Principles of Program-ming with Fortran 90 and C++ 1998 Wiley Blackwell ISBN 978-0471955962
bull Adams Brainerd Martin Smith and Wagener Fortran 90 Handbook 1992McGraw Hill ISBN 0-07-000406-4
bull Brainerd Goldberg and Adams Programmers Guide to Fortran 90 1996Springer ISBN 0-387-94570-9
bull Brainerd Goldberg and Adams Programmers Guide to Fortran 90 1994 Uni-comp ISBN 0-07-000248-7
bull Brooks Problem solving with Fortran 90 for scientists and engineers 1997Springer ISBN 0-387-98229-9
12 CHAPTER 1 BOOKS
bull Chivers ID Sleightholme J Introducing Fortran 90 1995 Springer ISBN3-540-19940-3
bull Ellis Philips Lahey Fortran 90 Programming 1994 Addison Wesley ISBN0-201-54446-6
bull Etter Fortran 90 for Engineers 1995 BenjaminCummings ISBN 0-201544-46-6
bull Gehrke Fortran 90 Language Guide 1996 Springer ISBN 3-540-19926-8
bull Hahn DB Fortran 90 for Scientists and Engineers 1994 Edward Arnold ISBN0-340-60034-9
bull Huddleston Fortran 90 1996 Exchange Publ Div ISBN 0-945261-07-1
bull Kerrigan JF Migrating to Fortran 90 1993 OrsquoReilly ISBN 1-56592-049-X
bull Meissner LP Fortran 90 1995 PWS Kent ISBN 0-534-93372-6
bull Metcalf M Reid J Fortran 90 Explained 1990 Oxford University Press ISBN0-19-853772-7
bull Morgan amp Schonfelder Programming in Fortran 90 1993 Alfe4d Waller ISBN1-872474-06-3
bull Nyhoff Leestma Fortran 90 for Engineers and Scientists1 1996 PrenticeHall ISBN 0-13-519729-5
bull Nyhoff Leestma An introduction to Fortran 90 for Engineers and Scientists1996 Prentice Hall ISBN 0-13-505215-7
bull Redwine Upgrading to Fortran 90 1995 Springer-Verlag ISBN 0-387-97995-6
bull Schick Silverman Fortran 90 and Engineering Computation 1994 JohnWiley ISBN 0-471-58512-2
bull Smith IM Programming in Fortran 90 Wiley ISBN 0471-94185-9
bull Wagener Fortran 90 Concise Reference 1998 Absoft ISBN 0-9670066-0-0
14 English books on related topics
bull Advanced Scientific Computing - Wille Wiley 1995 ISBN 0471-95383-0
bull Atlas for Computing Mathematical Functions in Fortran 90 and Mathematica- Thompson Wiley 1997 0-471-18171-4
15 CHINESE 13
bull Contemporary Computing for Technical Engineers and Scientists using Fortran90 and spreadsheets - Forsythe PWS 1997 0-534-93139-1
bull Numerical Recipes in Fortran 90 The Art of Parallel Scientific ComputingVolume 2 of Fortran Numerical Recipes - Press Teukolsky Vetterling and Flan-nery Cambridge U Press ISBN 0-521-57439-0 1996 Code can be downloaded(purchased) from httpwwwnrcom A CDROM is also available (see Website)
15 Chinese
bull Introduction to Programming with Fortran with coverage of Fortran 90 952003 and 77 Ian Chivers and Jane Sleightholme Posts and Telecom Pressand Springer-Verlag London 2009 ISBN 978-7-115-21227-6 (A translation ofIntroduction to Programming in Fortran)
bull Programming Language Fortran 90 - He Xingui Xu Zuyuan Wu Qingbao andChen Ming yuan China Railway Publishing House Beijing ISBN 7-113-01788-6TP187 1994
bull Fortran 90 - Walter S Brainerd Charles H Goldberg Jeanne C Adams CHEPBeijing and Springer Berlin 2000 ISBN 7-04-007937-2 (a translation of Pro-grammerrsquos Guide to Fortran 90)
16 Dutch
bull Fortran 90 - WS Brainerd ChH Goldberg and JC Adams translated byJM den Haan Academic Service 1991 ISBN 90 6233 722 8
17 Finnish
bull Fortran 9095 - Juha Haataja Jussi Rahola and Juha Ruokolainen Center forScientific Computing (Finland) 2001 339 pages 3rd edition ISBN 952-9821-60-3 WWW version httpwwwcscfioppaatf95
18 French
bull Fortran 90 Approche par la Pratique - P Lignelet Srie Informatique ditionsMenton 1993 ISBN 2-909615-01-4
bull Fortran 90 Les concepts fondamentaux the translation of Fortran 90 Ex-plained M Metcalf J Reid translated by M Caillat and B Pichon AFNOR1993 Paris ISBN 2-12-486513-7
14 CHAPTER 1 BOOKS
bull Fortran 90 Initiation partir du Fortran 77 - Aberti Srie Informatique ditionsMenton 1992 ISBN 2-909615-00-6
bull Les spcificits du Fortran 90 M Dubesset et J Vignes ditions Technip 1993 ISBN 2-7108-0652-5
bull Manuel complet du langage Fortran 90 et guide dapplication P Lignelet SrieInformatique ditions 1995 ISBN 2-909615-02-2
bull Manuel Complet du Langage Fortran 90 et Fortran 95 Calcul intensif et GnieLogiciel P Lignelet Masson ditions Paris 1996 ISBN 2-225-85229-4
bull Programmer en Fortran 90 C Delannoy Eyrolles 1992 ISBN 2-212-08723-3
bull Traitement des donnes numriques avec Fortran 90 M Olagnon Masson ditions1996 ISBN 2-225-85259-6
bull Structures des donnes (et leurs algorithmes) en Fortran 9095 P LigneletMasson ditions Paris ISBN 2-225-85373-8
19 German
bull Fortran 90 Lehrbuch D Rabenstein Hanser 1995 ISBN 3-446-18235-7
bull Die Programmiersprache F W Gehrke Springer-Verlag ISBN 3-540-63376-6
bull Fortran 90 - BWojcieszynski and RWojcieszynski Addison-Wesley 1993 ISBN3-89319-600-5
bull Fortran 90 eine informelle Einfhrung M Heisterkamp BI-Wissenschaftsverlag1991 ISBN 3-411-15321-0
bull Fortran 90 Kurs technisch orientiert - G Schmitt Oldenbourg 1996 ISBN3-486-23896-5
bull Fortran 90 Lehr- und Arbeitsbuch fr das erfolgreiche Programmieren WSBrainerd CH Goldberg and JC Adams translated by Peter Thomas andKlaus G Paul R Olbenbourg Verlag Muenchen 1994 ISBN 3-486-22102-7
bull Fortran 90 Lehr- und Handbuch - T Michel BI-Wissenschaftsverlag 1994
bull Fortran 90 Referenz-Handbuch der neue Fortran-Standard W Gehrke CarlHansen Verlag 1991 ISBN3-446-16321-2
bull Programmierung in Fortran 90 - Schobert Oldenburg 1991
bull Programmierung mit Fortran 90 - Bumer Vieweg Braunschweig 1997 ISBN3-528-05208-2
110 ITALIAN 15
bull Programmieren in Fortran - Erasmus Langer Springer-Verlag Wien New York1993 ISBN 3-211-82446-4 0-387-82446-4
bull Software Entwicklung in Fortran 90 - berhuber and Meditz Springer Verlag1993 ISBN 0-387-82450-2
110 Italian
bull Some resources in Italian including a manual are at
httpspacetinitcomputergciabu
bull Programmare con Fortran G Ciaburro FAG 2008 ISBN 9788882336882
wwwciaburroitf90librohtm
httpwwwibsitcode9788882336882ciaburro-giuseppeprogrammare-con-fortranhtml
111 Japanese
bull Fortran 90 Explained - Metcalf and Reid translated by H Nisimura H WadaK Nishimura M Takata Kyoritsu Shuppan Co Ltd 1993 ISSN 0385-6984
112 Russian
bull An Explanation of the Fortran 90 Programming Language (translation of For-tran 90 Explained - Metcalf and Reid) translated P Gorbounov Mir Moscow1995 ISBN 5-03-001426-8 Available also from PetrGorbounovcernch
bull FORTRAN 77 to Fortran 90 Tutorial - Einarsson and Shokin Russian Academyof Sciences Novosibirsk 1995 ISBN 5-85826-013-6
113 Swedish
bull Fortran 90 - en introduktion - Blom Studentlitteratur Lund 1994 ISBN 91-44-47881-X
16 CHAPTER 1 BOOKS
Chapter 2
Compilers
bull Version 110 August 2012 Updated Nag entry 53 release supports openMPAlso updated product availability entry
bull Version 19 November 2010 Updated Absoft in response to an email fromWood Lotz
bull Version 18 July 2010 Updated Sun to reflect takeover by Oracle UpdatedSalford to reflect Silverfrost rebranding
bull Version 17 June 2009 Updated the Cray and Intel entries Added a newsection on compilers that are no longer available This has involved moving theentries on Apogee Compaq and NA Software into this section For historicalcompleteness wersquove also added an entry for EPC to this section
bull Version 16 September 2008 Updated the NAG entry with more details of theFortran Builder IDE
bull Version 15 September 2007 Updated Absoft Entry Compaq Fortran Com-pany Fujitsu Gnu Fortran 95 G95 IBM Intel LaheyFujitsu NAG NASoftware NEC Pathscale PGI SalfordSilverfrost SGI Sun
21 Introduction
The following is a list of companies and organisations that provide Fortran compilersthat conform to the Fortran 90 95 2003 and 2008 standards Fortran Forum hasa more or less standing table on compilers that support features from the 2003 and2008 standards The gfortran g95 and Sun compilers are free for Linux and gfortranand g95 are free for Windows
22 Absoft
httpwwwabsoftcom
18 CHAPTER 2 COMPILERS
Absoft Pro Fortran is a complete tool suite designed to automate building par-allel code on Linux Windows or Mac OSIntel Absoft Rolls are also available forx64Linux Compilers are full F95 include all popular legacy extensions many fromF2003 and are fully link and debug compatible with the host (Linux Microsoft MacOS) tool chain Compilers offer automatic parallelization vectorization OpenMP 30GPU support and Absoft application performance is consistently rated 1 on AMDand Intel systems by third party benchmarks IDE includes SMP graphical analyzerFx3 graphical multi-language debugger programmers editor several Fortran specificfeatures OpenMP and MPI controls math libraries VAXUnix libraries and 2D3Dgraphics Same look feel and functionality on all systems Nothing else to buy orlearn IMSL numerical libraries are a bundle option on all platforms
23 Cray
httpwwwcraycom
Cray has a fully optimizing Fortran 2003 compiler available for the Cray XT seriessystems This compiler also supports OpenMP and several Fortran 2008 featuresincluding submodules and coarrays
Cray has a fully-optimizing Fortran 95 compiler available for the Cray PVP (J90SV1) T3E and X1 systems The PVP compiler supports automatic parallization andOpenMP The T3E compiler supports coarrays The X1 compiler supports automaticstreaming OpenMP coarrays and many Fortran 2003 featuresrdquo
24 Fortran Company
httpwwwfortrancom
The Fortran Company offers F the subset language for Unix and Windows somein highly optimizing versions All of the full professional versions of the F compilerare available free by downloading them from the F anonymous ftp directory
The Fortran Tools include a Fortran 95 compiler with a graphical user interfacethat runs on Linux or Windows on a CD The CD also includes several Fortran booksin PDF format and many tools such as Matran a matrix computation library thatuses the highly tuned Atlas libraries a plotting package and a library of routines tocreate GUIs for your Fortran application programs
25 Fujitsu
httpwwwfujitsucomglobal
26 GNU FORTRAN 95 19
Fortran 95 (Solaris) A powerful updated development system used for FORTRANproductive applications Current version Sun Studio 9
The ISO Fortran 95 Standard is fully supported additionally there are enhance-ments for Fortran77 such as pointersstructures binaryoctalhexadecimal constantsetc High optimization includes automatic parallelization and OpenMP support AFortran runtime system optimized for UltraSPARC is now also included in the pack-age The development environment consists of the following components
Workbench An integral development environment for the CC++ and Fortrancompilers for compiler control program execution debugging performance analysiscoverage etc with a Motif-based graphical user interface (GUI)
Visual Analyzer A development and migration tool for CC++ and Fortranprograms The enclosed Source Analyzer allows the static program structure and theglobal data relations to be visualized It contains a class browser cross referencesand a calling graph viewer
Parallel Analyser Consists of an integrated development environment for theOpenMP programming It contains a manager a debugger and a profiler
Fujitsu also has a Fortran 95 compiler for Linux and a highly optimized nativeFortran 95 compiler FortranVPP and HPF for its VPP supercomputers
26 Gnu Fortran 95
httpgccgnuorgwikiGFortran
httpgccgnuorgfortran
Gfortran is the name of the GNU Fortran project developing a free Fortran 952003compiler for GCC the GNU Compiler Collection The gfortran development effortuses an open development environment in order to attract a larger team of devel-opers and to ensure that gfortran can work on multiple architectures and diverseenvironments The GNU Fortran 95 project or gfortran is developing a Fortran 95compiler front end as well as runtime libraries for GCC the GNU Compiler Col-lection Gfortran development is a part of the GNU project aiming to bring freenumber crunching to all GNU system variants The gfortran development effort usesan open development environment in order to attract a larger team of developers andto ensure that gfortran can work on multiple architectures and diverse environmentsIn particular the project wishes to reach the users of the Fortran 95 language beit in the scientific community in education or in a commercial environment Todaytruly free Fortran 90 or Fortran 95 compilers do not exist We are trying to makeone available to the Fortran community
27 g95
httpwwwg95org
20 CHAPTER 2 COMPILERS
g95 is a stable production Fortran 95 compiler available for multiple cpu architec-tures and operating systems Innovations and optimizations continue to be workedon Parts of the F2003 standard have been implemented in g95
28 Hewlett Packard
The web address that describes all of the compilers and supported hardware andoperating systems is
httph21007www2hpcomdspptechtech_TechSoftwareDetailPage_IDX11703623500h
HPrsquos Fortran products are available for multiple platforms Windows Tru64 UNIXAlphaServer systems Linux AlphaServer systems and HP OpenVMS (Alpha VAX)
Visual Fortran for WindowsFortran for Linux AlphaFortran for Tru64 UNIX AlphaFortran for HP OpenVMS AlphaFortran for HP OpenVMS IntegrityFortran for HP OpenVMS VAXFortran for HP-UXThe Windows product Compaq Visual Fortran includes the Microsoft Developer
Studio IDE which can be shared with Microsoft Visual C++ Parallel execution usingOpenMP-directed decomposition or HPF is included on the Tru64 UNIX platformOn Windows NT SMP parallel execution using directed decomposition is availablethrough Visual Compaq Fortran for Linux Alpha Systems is available as a freedownload under a Technology Enthusiast license for non-commercial use All Com-paq Fortran 95 products include the Compaq Extended Math Library of optimizedscientific subroutines and the allocatable array extensions
29 IBM
httpwww-306ibmcomsoftwareawdtoolsfortran
httpwww-306ibmcomsoftwareawdtoolsfortranxlfortranfeaturesf2003html
XL Fortran Enterprise Edition for AIX XL Fortran Enterprise Edition for AIX pro-vides industry-leading code optimization and tuning features a full implementationof the OpenMP API Version 25 Symmetric Multiprocessing (SMP) APIs directmanipulation of the floating-point status and control register 64-bit enablementasynchronous IO debug memory routines and many other features
XL Fortran Advanced Edition for Blue Gene XL Fortran Advanced Edition forBlue Gene is the latest addition to our XL Fortran compiler family It expands our
210 INTEL 21
proven XL Fortarn compiler technology to exploit the capabilities of the PowerPC440 and 440d processors used in IBM Blue GeneL supercomputers
XL Fortran Advanced Edition for Linux XL Fortran Advanced Edition for Linuxsupports your choice of RHEL4 SLES9 and Y-HPC Linux distributions Advancedoptimization technology and VMX support help you create high-performance 32-bitand 64-bit applications that run efficiently on a variety of processor architecturesincluding IBMrsquos newest POWER5+ and PowerPC 970 processors and Apple PowerMac G5 and Xserve G5 systems
VS FORTRAN VS FORTRAN contains features geared to help Fortran program-mers develop applications more easily and efficiently while using the full power ofIBMrsquos large systems
The second web link has details of Fortran 2003 support
210 Intel
httpsoftwareintelcomen-usintel-compilers
Intel offers optimizing Fortran compilers for the IA-32 x64 and IA-64 (Intel Ita-nium) architectures running the Linux Mac OS X (IA-32 and x64) or Windows op-erating systems Intel Fortran is fully compliant with Fortran 95 and supports mostof Fortran 2003 as well as many popular extensions The compiler offers automaticparallelization and vectorization and supports OpenMP 30 as well as generatingoptimized code for the latest Intel processors and compatible non-Intel processors
On all platforms the Intel Fortran compiler includes the Intel Math Kernel Li-brary a library of highly optimized extensively threaded math routines for scienceengineering and financial applications The IMSL Fortran Numeric Library 60 fromVisual Numerics is an option on Windows
On Windows the compiler integrates into Microsoft Visual Studio 2003 2005 or2008 and includes a self-sufficient Fortran development environment based on Mi-crosoft Visual Studio 2008 The Windows compiler also provides mechanisms tointerface Fortran code with the Microsoft COM and NET environments Academicand student pricing is available
211 LaheyFujitsu
httpwwwlaheycom
LaheyFujitsu Fortran 95 is produced by the LaheyFujitsu alliance LF95 is avail-able in three Windows configurations Express Standard and PRO and two Linuxconfigurations Express and PRO All configurations feature VAX IBM and POSIXlanguage extensions allocatable array enhancements etc The Windows and LinuxExpress version is command line only and features the compiler linker and debug-ger PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-
22 CHAPTER 2 COMPILERS
TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creatingtrue Windows programs with Fortran and a Coverage Analysis Tool that detects un-executed code and performs range of operation checking The PRO is compatible withVisual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 Math Libraryand Visual Analyzer (see below) The PRO Linux version offers auto-parallelizationOpenMP compatibility thread-safe BLAS and LAPACK WiSK AUTOMAKE andFujitsus SSL2 All products come with free technical support and are available at Also available is a subset compiler elf90
It would appear that the Windows version is no longer under active developmentThe last update was dated December 2004
212 NAG
httpwwwnagcouknagwareasp
The NAG Fortran Compiler derived from the worldrsquos first Fortran 90 Compilerfrom NAG is robust highly tested and valued by developers all over the globe forits checking capabilities and detailed error reporting Available on a wide range ofUnix and Windows platforms it accepts fixed or free format Fortran 95 input andmany common Fortran 77 extensions are allowed A large number of Fortran 2003language features are now available HPF code is also compiled and checked thoughonly single processor output is generated The 53 release supports a good workingsubset of OpenMP 3
The following versions are availableApple Intel Mac64 Release 53 gcc 42HP PA-RISC 11 Release 51 HP ANSI CIBM Power AIX Release 51 AIX XL C 60IBM Z9 Linux Release 51 gcc 346IBM Z9 Open Edition Release 52 IBM CLinux x86-32 Release 53 gcc 322Linux64 Release 53 gcc 412Sun SPARC Solaris Release 52 gcc 342Sun SPARC Solaris Release 52 Sun C v 55x86 and x86-64 Windows Release 53An integrated Fortran IDE is also available for Windows
httpwwwnagcouknagwarenpfortranbuilderasp
213 NEC
httpwwwneccom
214 ORACLE - ORIGINALLY SUN 23
NEC has a native optimizing Fortran 95 compiler FORTRAN90SX with anautomatic vectorization and parallelization capability for its supercomputer SX se-ries HPFSX V2 provides functions conforming to the specification of HPF11 andHPF20 and can be used with vector processing functions in SX Fortran and withparallel processing functions using microtasking
214 Oracle - originally Sun
httpwwworaclecomussunindexhtm
httpwwwsuncom
httpdeveloperssuncomsunstudio
httpdeveloperssuncomsunstudiodownloadsexpress
Sun Studio software delivers high-performance optimizing C C++ and Fortrancompilers for the Solaris OS on SPARC and both Solaris and Linux on x86x64platforms including the latest multi-core systems
Whatrsquos in Sun StudioAll Compilers - Specify 32-bit or 64-bit Address Model Auto-parallelization of
single-threaded code Flags Static data-race and deadlock-detection for x86 Mathand Visual Instruction Set Support in SPARC64 VI Option for Floating-Point Fusedor Multiply-Add Instructions Option for Thread Analyzer support Linux SupportOpenMP and OpenMPI suport Support for the directives clauses and attributes
Fortran Compiler - Interval arithmetic support on Solaris Intel platform Fastercompilation time for source files UNSIGNED arguments Backward compatibilitywith f77
C Compiler - More options Auto-parallelization of single-threaded code GNU Ccompatibility
C++ Compiler - More options ABI compatibility Compiler flags to optimize formulticore architectures Static linking the standard C++ runtime library
215 PathScale
httpwwwpathscalecomproductspathscale_compiler_suite
PathScalersquos goal is to make it easier to develop and deploy 64-bit applications intoclustered environments PathScale has developed the industryrsquos highest-performanceC C++ and Fortran 9X compilers for 64-bit Linux-based computer systems ThePathScale Compiler Suite shares its heritage with the well-known and mature SGIcompiler suite The PathScale Compiler Suite has been optimized for both the
24 CHAPTER 2 COMPILERS
AMD64 and EM64T architectures and has the worldrsquos most sophisticated optimiza-tion infrastructure
Unlike other compilers the PathScale Compiler Suite provides superior perfor-mance across both floating-point and integer-intensive applications Application de-velopers targeting 64-bit Linux servers will see immediate performance benefits fromcompiling with the PathScale compilers
The PathScale Compiler Suite includesC C++ and Fortran 779095 compilers Industry leading optimizations Com-
plete support for OpenMP 20 (including WORKSHARE) Complete support for 64-bit and 32-bit x86 compilation Code generation for AMD64 ABI AMD Opteronand Intel EM64T PathScale optimized AMD Core Math Library (available for down-load) Advanced serial debugger PathDB Compatible with GNUgcc tool chain andpopular Third Party debuggers Supported on SUSE RedHat and Fedora Linux Thecurrently shipping version of the PathScale Compiler Suite is
216 PGI
httpwwwpgroupcom
High-performance Optimizing Parallel Compilers For multi-core 64-bit x64 and 32-bit x86 processor-based Linux Mac OS X and Windows workstations servers andclusters PGI Workstation includes a single seat license for PGIrsquos suite of compilersand tools Also available with a multi-user network floating license (PGI Server)The PGI CDK Cluster Development Kit includes all the software for building andprogramming a turn-key Linux cluster PGI Visual Fortran fully integrates PGIparallel Fortran into Microsoft Windows using Microsoft Visual Studio 2005
217 Silverfrost nee Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
Salford Software markets FTN95 a Fortran 95 compiler for Win32 running onWindows 95NT2000XP PCs It has announced its Fortran 95 compiler for Mi-crosoft NET (FTN95 for NET) This compiler will produce fast executables fromsource files that may be any combination of Fortran 77 Fortran 90 and Fortran 95FTN95 for NET including integrated Help and Debugger is supplied bundled withFTN95 for Win32 and optionally with Microsoft Visual Studio for NET A low-costfully-featured personal edition is also available
218 SGI
httpwwwsgicomproductssoftwareirixtoolsfortranhtml
219 SUN - SEE ORACLE 25
MIPSpro Fortran Compilers This 64-bit ANSI Fortran 77 compiler is ideal forsystems running IRIX 6x It is compatible with VAXVMS Fortran and supportsCray extensions The 74 version of the MIPSpro Fortran 77 and Fortran 90 compilersnow support the OpenMP 20 standard Among the new features introduced in theOpenMP 20 specification are
WORKSHARE directive COPYPRIVATE clause for the broadcast of sequentialreads Portable timing routines MIPSpro Fortran 90 Compiler A 64 bit ANSI Fortran90 compiler with additional support for user-defined multiprocessing directives forsystems running IRIX 6x Compatible with VAXVMS Fortran and supports Crayextensions With the release of version 74 Fortran 90 specific support under theOpenMP 20 standard are
Parallelization of F90 array syntax via the WORKSHARE directive Privatizationof deferred shape and assumed shape objects The full Fortran 20 specification canobtained from the OpenMP Web site at httpwwwopenmporg
For more information read about the MIPSpro compilers
219 Sun - see Oracle
220 No longer available
2201 Apogee
httpwwwapogeecom
Features of the FORTRAN 7790 CompilerNo longer available Originally available for the SolarisSPARC platforms the
compiler conforms to Sunrsquos Solaris ABI and produces assembler code files acceptableto Sunrsquos Solaris assembler When used in the FORTRAN 77 compilation modethe compiler is compliant with the MIL-STD 1753 FORTRAN 77 and accepts mostFORTRAN 77 extensions of Sun IBM and other F77 compilers The supportedF77 extensions include structures length qualification on types additional data andconstant types initializations in type statements additional statements (END DODO WHILE POINTER VOLATILE etc) computations with aggregates namelist-directed IOs and debugging statements
When used in the Fortran 90 mode the compiler is compliant with the ANSIISOFortran 90 standard
2202 Compaq
This compiler is no longer under development This ceased when Intel bought outthe technology from HP Still widely used with legacy software Copies for sale canbe found on Ebay and similar vites
26 CHAPTER 2 COMPILERS
2203 EPC
Edinburgh Portable Compilers was an early vendor to produce a Fortran 90 compila-tion system A report by Adam Marshall from Liverpool University has a comparisionof several early Fortran 90 compilers It can be found at the address below
httpwwwlivacukHPCFortranCompilerStudyHTMLFortranCompilerStudyHTMLhtml
2204 NA Software
httpwwwnasoftwarecoukhomehtml
No longer available
Chapter 3
Fortran aware editors and IDEs
bull Version 15 October 2011 Updated photran entry
bull Version 14 July 2010 Added SunStudio Express entry
bull Version 131 April 2006 Added Windows Zeus entry
31 Windows
311 Absoft Editor (ae)
httpwwwabsoftcom
312 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
313 compaq visual fortran 6x
Nolongeravailable
314 editeur
wwwstudiowarecom
315 emacsxemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
316 emacsxemacs - cygwin components
httpwwwcygwincom
28 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
317 gvimvim - stand alone
httpwwwvimorg
318 gvimvim - cygwin component
httpwwwcygwincom
319 jed wjed (Windows)
httpwwwjedsoftorgjed
3110 lahey ed
httpwwwlaheycom
3111 microsoft visual studio 6
No longer available
3112 Microsoft Visual StudioNET
There are a number of vendors that have provided integration with Microsoft VisualStudio NET These include
Intel Visual Fortranwwwintelcom
LaheyFujitsu Fortranwwwlaheycom
Silverfrost Salford FTN95httpwwwsilverfrostcom11ftn95overviewasp
3113 nedit - cygwin
httpwwwneditorg
3114 ntemacs
httpwwwgnuorgsoftwareemacswindowsntemacshtml
3115 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
32 LINUXUNIX 29
3116 salford plato
httpwwwsilverfrostcom11ftn95overviewasp
3117 Oracle Solaris Studio Express
httpdeveloperssuncomsunstudiodownloadsexpress
3118 UltraEdit
wwwultraeditcom
3119 xemacsemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
3120 xemacsemacs - cygwin components
httpwwwcygwincom
3121 Zeus ide
httpwwwzeuseditcomfortranhtml
32 LinuxUnix
321 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
322 emacsxemacs
httpwwwgnuorgsoftwareemacsemacshtml
323 jed xjed (Unix(all flavours)OpenVMS) wjed (Win-dows)
httpwwwjedsoftorgjed
324 nedit
httpwwwneditorg
30 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
325 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
33 Apple OS X
331 Absoft Editor
httpwwwabsoftcom
332 BBEdit
httpwwwapplecomdownloadsmacosxproductivity_toolsbbedithtml
httpwwwbarebonescomproductsbbeditindexshtml
333 emacsxemacs
pre-installed
334 Photran
wwwphotranorg
335 Smultron
httpsmultronsourceforgenet
336 TextMate
httpmacromatescom
337 TextWrangler
httpwwwapplecomdownloadsmacosxproductivity_toolstextwranglerhtml
httpwwwbarebonescomproductstextwranglerindexshtml
338 Vim
Pre-installed
33 APPLE OS X 31
339 Xcode
httpdeveloperapplecom
3310 xemacsemacs
pre-installed
32 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
Chapter 4
Commercial Courses
bull Version 14 August 2012 Updated several entries
bull Version 13 November 2011 Notified by Shaun Forth at Cranfield of theirchanges Also added the HECToR entries
bull Version 12 August 2010
bull Version 11 September 2008
bull Version 10 January 2006
41 Ian Chivers and Jane Sleightholme
Ian Chivers and Jane Sleightholme are available to do tailored on site courses Coursesinclude
bull Introduction to Modern Programming in Fortran
bull Advanced Features of Modern Fortran
See
httpwwwfortranpluscouk
42 Cranfield University
Cranfield University offers four Fortran programming courses
bull Introduction to Programming in Fortran 95 and 2003 (3 days)
bull Advanced Programming in Fortran 95 and 2003 (3 days)
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
4 CONTENTS
220 No longer available 252201 Apogee 252202 Compaq 252203 EPC 262204 NA Software 26
3 Fortran aware editors and IDEs 2731 Windows 27
311 Absoft Editor (ae) 27312 CRiSP 27313 compaq visual fortran 6x 27314 editeur 27315 emacsxemacs - stand alone 27316 emacsxemacs - cygwin components 27317 gvimvim - stand alone 28318 gvimvim - cygwin component 28319 jed wjed (Windows) 283110 lahey ed 283111 microsoft visual studio 6 283112 Microsoft Visual StudioNET 283113 nedit - cygwin 283114 ntemacs 283115 photran 283116 salford plato 293117 Oracle Solaris Studio Express 293118 UltraEdit 293119 xemacsemacs - stand alone 293120 xemacsemacs - cygwin components 293121 Zeus ide 29
32 LinuxUnix 29321 CRiSP 29322 emacsxemacs 29323 jed xjed (Unix(all flavours)OpenVMS) wjed (Windows) 29324 nedit 29325 photran 30
33 Apple OS X 30331 Absoft Editor 30332 BBEdit 30333 emacsxemacs 30334 Photran 30335 Smultron 30336 TextMate 30337 TextWrangler 30338 Vim 30339 Xcode 31
CONTENTS 5
3310 xemacsemacs 31
4 Commercial Courses 3341 Ian Chivers and Jane Sleightholme 3342 Cranfield University 3343 The Fortran Company 3444 Hector 3445 Lahey 3546 Michael Metcalf 3547 Nihon NAG Numerical Algorithms Group Japan 3548 PTR Associates 3549 Purple Sage Computing Solutions Inc 36410 John Reid 36411 France 36412 Japan 36
4121 Nihon NAG Numerical Algorithms Group Japan 36
5 On Line Training Material 3951 CERN 3952 Paul Dubois 3953 Linkoping University 3954 Liverpool University 3955 French 40
6 Graphics and Windows Programming 4161 Introduction 4162 dislin 41
621 Worked examples 4263 gino 42
631 Documentation 42632 Worked examples 42
64 ginomenu 42641 Documentation 43
65 interacter 43651 Documentation 43652 Worked examples 43
66 opengl 43661 Documentation 43662 Worked examples 43663 Documentation 44664 Worked examples 44
67 realwin 44671 Documentation 44672 Worked examples 44
68 toolmaster 45
6 CONTENTS
681 Documentation 45
682 Worked examples 45
69 winteracter 45
691 Documentation 45
692 Worked examples 45
610 Microsoft Windows graphics programming 45
6101 LaheyFujitsu 46
6102 Salford Software 46
7 Parallel Programming 47
71 Introduction 47
711 Books 48
72 Automatic 48
73 Coarray Fortran 49
74 HPF 49
75 MPI 49
751 Books 49
752 Courses 50
753 Requirements 50
76 OpenMP 50
761 Books 51
762 Courses 51
763 Resources 51
764 Requirements 52
77 Posix Threads 52
78 Notes on the table below 52
79 Table of compilers and supported parallel options 54
710 Parallelisation Tools 55
7101 Crescent Bay Software 55
7102 Parallel Software Products 56
8 Fortran Software Tools 57
81 Refactoring 57
82 Convert 57
83 Forcheck 58
84 FOR STRUCT 58
85 FOR STUDY 58
86 Fortran90-lint 58
87 NAGWare Fortran Tools 58
88 photran 58
89 plusFORT 59
810 VAST77to90 59
CONTENTS 7
9 Fortran Electronic Lists 6191 comp-fortran-90 6192 complangfortran 6193 LinkedIn 6294 Compiler specific 62
941 Absoft 62942 Apogee 63943 Compaq 63944 Cray 63945 Fortran Company 63946 Fujitsu 63947 Gnu Fortran 95 63948 G95 63949 Hewlett Packard 639410 IBM 639411 Intel 649412 Lahey Fujitsu 649413 NAG 649414 NA Software 649415 NEC 649416 Pathscale 649417 PGI 649418 Salford Software 649419 SGI 659420 SUN 65
10 Fortran Standard Bodies 67101 Introduction 67102 WG5 67103 PL223 67
11 Other Web Links 71111 Fortran History 71
1111 A brief history of FORTRAN-Fortran 711112 Computer Languages History (preview) 711113 Computer Languages History 711114 Fortran A few historical details 711115 Open Directory - Fortran Tutorials Fortran 90 and 95 711116 Open Directory - Fortran 711117 The Fortran (not the foresight) saga 72
112 Computer Arithmetic 721121 What every computer scientist should know about floating point arithmetic 721122 IEEE 754r - Wikipedia the free encyclopedia 721123 IEEE 754 Standard for Binary Floating-Point Arithmetic 721124 IEEE Standard 754 Floating-Point 72
8 CONTENTS
1125 William Kahan 721126 IEEE 754 floating-point test software 721127 Interval FAQ from Alejandro Casares ndash What machines support IEEE 754 721128 Decimal Arithmetic - FAQ 1 721129 General Decimal Arithmetic 72
113 Programming 731131 Calling FORTAN and C from Java 731132 CS 267 Applications of Parallel Computers 731133 Hillsidenet - Design Patterns Book - DP Book 731134 Hillsidenet - Design Patterns Book - Source 731135 Home page of Les Hatton 731136 Parallel Programming - Basic Theory For The Unwary 731137 Putting a Java Interface on your C C++ or Fortran Code 731138 Teach Yourself Programming in Ten Years 73
Chapter 1
Books
bull Version 17 August 2012 Added Section 11 Chivers Added Section 11 Mar-cus
bull Version 16 January 2012 Added Section 15 Chivers
bull Version 15 October 2011 Added Section 11 Chivers Added Section 11 Cler-man Added Section 11 Gnu Fortran Added Section 11 Rouson Added Section12 Lakshmivarahan
bull Version 14 July 2010 Added Section 11 Brainerd Added Section 11 McCor-mmack Added Section 11 Ray Added Section 12 Rajaram Added Section13 Barlow et al Added Section 14 Chandra et al Added Section 14 Chapmanet al
bull Version 13 June 2009 Removed invalid web address in Morgan and Schonfelderentry Corrected spelling in Chinese entry
bull Version 12 September 2008 Added Section 11 Adams et al Added Section110 Ciaburro
bull Version 11 September 2007 Added Section 11 Chapman Added Section 12Lemmon
11 Fortran 2003 and 2008 - English
bull Adams JC Brainerd WS Hendrickson RA Maine RE Martin JTSmith BT The Fortran 2003 Handbook The Complete Syntax Features andProcedures 2008 Springer Verlag ISBN 978-1-84628-378-9
bull Brainerd WS Guide to Fortran 2003 Programming 2009 Springer VerlagISBN 978-1-84882-542-0
bull Chapman SJ Fortran 952003 For Scientists and Engineers 2007 McGraw-Hill ISBN 978-0073191577 ISBN 0073191574
10 CHAPTER 1 BOOKS
bull Chivers ID Sleightholme J Introduction to Programming with Fortran Withcoverage of Fortran 90 95 2003 2008 and 77 2012 Springer Verlag ISBN-100857292323 ISBN-13 978-0857292322 Second Edition
bull Chivers ID Sleightholme J Introduction to Programming with Fortran Withcoverage of Fortran 90 95 2003 and 77 2006 Springer Verlag ISBN 1-84628-053-2 First Edition
bull Clerman NS Spector W Modern Fortran Style and Usage Cambridge Uni-versity Press 2011 ISBN-10 052173052X ISBN-13 978-0521730525
bull Gnu Fortran Team Using Gnu Fortran Manual For Gcc Version 433 Cre-ateSpace ISBN-10 1441412662 ISBN-13 978-1441412669 2009
bull McCormack D Scientific Software Development with Fortran 2009 ISBN 978-1-4452-5445-6
bull Metcalf M Reid J and Cohen M Fortran 952003 Explained 2004 OxfordUniversity Press ISBN 0-19-852693-8 ISBN 0-19-852692-X
bull Marcus A Modern Fortran in Practice 2012 Cambridge University PressISBN-10 1107017904 ISBN-13 978-1107017900
bull Ray S A Textbook on Fortran 2003 2009 Alpha Science International ISBN978-1-84265-479-8
bull Rouson D Xia J Xu X Scientific Software Design The Object-OrientedWay Cambridge University Press 2011 ISBN-10 0521888131 ISBN-13 978-0521888134
12 Fortran 95 - English
bull Adams JC Brainerd WS Martin JT Smith BT and Wagener JL Fortran95 Handbook 1997 MIT ISBN 0-262-51096-0
bull Adams JC Brainerd WS Martin JTand Smith BT Fortran Top 95 NinetyFive Key Features of Fortran 95 $10 The book is only available in PDF formfrom the Fortran Store httpwwwfortrancom
bull Akin E Object Oriented Programming via Fortran 9095 2003 CambridgeUniversity Press ISBN 0-521-52408-3
bull Chapman S J Fortran 9095 for Scientists and Engineers 2004 McGraw HillISBN 0-07-282575-8
bull Chapman SJ Introduction to Fortran 9095 1997 McGraw-Hill 1997 ISBN0-07-011969-4
13 FORTRAN 90 - ENGLISH 11
bull Chivers ID Sleightholme J Introducing Fortran 95 2000 Springer VerlagISBN 185233276X
bull Counihan M Fortran 95 1997 UCL ISBN 185728367-8
bull Etzel M Dickinson K Digital Visual Fortran 90 Programmerrsquos Guide 1999Digital Press ISBN 1-55558-218-4
bull Gehrke Fortran 95 Language Guide 1996 Springer ISBN 3-540-76062-8
bull Lakshmivarahan S Sudarshan K Dhall Programming in Fortran 9095 Pub-lisher Pearson Custom Publishing (2002) ASIN B000XM3WZ0
bull Lawrence N Compaq Visual Fortran A Guide to Creating Windows Applica-tions 2001 Digital Press ISBN 1-55558-249-4
bull Lemmon DRSchafer JL Developing Statistical Software in Fortran 95 2005Springer ISBN-10 0387238174 ISBN-13 978-0387238173
bull Metcalf M Reid J Fortran 9095 Explained 1999 Oxford University PressISBN 0-19-850558-2
bull Morgan amp Schonfelder Programming in Fortran 9095 available in AcrobatPDF format from httpwwwfortrancom
bull Rajaram V Computer Programming in Fortran 90 and 95 2004 Prentice HallISBN 978-8120311817
bull Vowels R Introduction to Fortran 9095 Algorithms and Structured Pro-gramming Part 1 Introduction to Fortran 90 Part 2 Algorithms and Fortran90 ISBN 0-9596384-8-2
13 Fortran 90 - English
bull Barlow RJ Barnett AR Computing for Scientists Principles of Program-ming with Fortran 90 and C++ 1998 Wiley Blackwell ISBN 978-0471955962
bull Adams Brainerd Martin Smith and Wagener Fortran 90 Handbook 1992McGraw Hill ISBN 0-07-000406-4
bull Brainerd Goldberg and Adams Programmers Guide to Fortran 90 1996Springer ISBN 0-387-94570-9
bull Brainerd Goldberg and Adams Programmers Guide to Fortran 90 1994 Uni-comp ISBN 0-07-000248-7
bull Brooks Problem solving with Fortran 90 for scientists and engineers 1997Springer ISBN 0-387-98229-9
12 CHAPTER 1 BOOKS
bull Chivers ID Sleightholme J Introducing Fortran 90 1995 Springer ISBN3-540-19940-3
bull Ellis Philips Lahey Fortran 90 Programming 1994 Addison Wesley ISBN0-201-54446-6
bull Etter Fortran 90 for Engineers 1995 BenjaminCummings ISBN 0-201544-46-6
bull Gehrke Fortran 90 Language Guide 1996 Springer ISBN 3-540-19926-8
bull Hahn DB Fortran 90 for Scientists and Engineers 1994 Edward Arnold ISBN0-340-60034-9
bull Huddleston Fortran 90 1996 Exchange Publ Div ISBN 0-945261-07-1
bull Kerrigan JF Migrating to Fortran 90 1993 OrsquoReilly ISBN 1-56592-049-X
bull Meissner LP Fortran 90 1995 PWS Kent ISBN 0-534-93372-6
bull Metcalf M Reid J Fortran 90 Explained 1990 Oxford University Press ISBN0-19-853772-7
bull Morgan amp Schonfelder Programming in Fortran 90 1993 Alfe4d Waller ISBN1-872474-06-3
bull Nyhoff Leestma Fortran 90 for Engineers and Scientists1 1996 PrenticeHall ISBN 0-13-519729-5
bull Nyhoff Leestma An introduction to Fortran 90 for Engineers and Scientists1996 Prentice Hall ISBN 0-13-505215-7
bull Redwine Upgrading to Fortran 90 1995 Springer-Verlag ISBN 0-387-97995-6
bull Schick Silverman Fortran 90 and Engineering Computation 1994 JohnWiley ISBN 0-471-58512-2
bull Smith IM Programming in Fortran 90 Wiley ISBN 0471-94185-9
bull Wagener Fortran 90 Concise Reference 1998 Absoft ISBN 0-9670066-0-0
14 English books on related topics
bull Advanced Scientific Computing - Wille Wiley 1995 ISBN 0471-95383-0
bull Atlas for Computing Mathematical Functions in Fortran 90 and Mathematica- Thompson Wiley 1997 0-471-18171-4
15 CHINESE 13
bull Contemporary Computing for Technical Engineers and Scientists using Fortran90 and spreadsheets - Forsythe PWS 1997 0-534-93139-1
bull Numerical Recipes in Fortran 90 The Art of Parallel Scientific ComputingVolume 2 of Fortran Numerical Recipes - Press Teukolsky Vetterling and Flan-nery Cambridge U Press ISBN 0-521-57439-0 1996 Code can be downloaded(purchased) from httpwwwnrcom A CDROM is also available (see Website)
15 Chinese
bull Introduction to Programming with Fortran with coverage of Fortran 90 952003 and 77 Ian Chivers and Jane Sleightholme Posts and Telecom Pressand Springer-Verlag London 2009 ISBN 978-7-115-21227-6 (A translation ofIntroduction to Programming in Fortran)
bull Programming Language Fortran 90 - He Xingui Xu Zuyuan Wu Qingbao andChen Ming yuan China Railway Publishing House Beijing ISBN 7-113-01788-6TP187 1994
bull Fortran 90 - Walter S Brainerd Charles H Goldberg Jeanne C Adams CHEPBeijing and Springer Berlin 2000 ISBN 7-04-007937-2 (a translation of Pro-grammerrsquos Guide to Fortran 90)
16 Dutch
bull Fortran 90 - WS Brainerd ChH Goldberg and JC Adams translated byJM den Haan Academic Service 1991 ISBN 90 6233 722 8
17 Finnish
bull Fortran 9095 - Juha Haataja Jussi Rahola and Juha Ruokolainen Center forScientific Computing (Finland) 2001 339 pages 3rd edition ISBN 952-9821-60-3 WWW version httpwwwcscfioppaatf95
18 French
bull Fortran 90 Approche par la Pratique - P Lignelet Srie Informatique ditionsMenton 1993 ISBN 2-909615-01-4
bull Fortran 90 Les concepts fondamentaux the translation of Fortran 90 Ex-plained M Metcalf J Reid translated by M Caillat and B Pichon AFNOR1993 Paris ISBN 2-12-486513-7
14 CHAPTER 1 BOOKS
bull Fortran 90 Initiation partir du Fortran 77 - Aberti Srie Informatique ditionsMenton 1992 ISBN 2-909615-00-6
bull Les spcificits du Fortran 90 M Dubesset et J Vignes ditions Technip 1993 ISBN 2-7108-0652-5
bull Manuel complet du langage Fortran 90 et guide dapplication P Lignelet SrieInformatique ditions 1995 ISBN 2-909615-02-2
bull Manuel Complet du Langage Fortran 90 et Fortran 95 Calcul intensif et GnieLogiciel P Lignelet Masson ditions Paris 1996 ISBN 2-225-85229-4
bull Programmer en Fortran 90 C Delannoy Eyrolles 1992 ISBN 2-212-08723-3
bull Traitement des donnes numriques avec Fortran 90 M Olagnon Masson ditions1996 ISBN 2-225-85259-6
bull Structures des donnes (et leurs algorithmes) en Fortran 9095 P LigneletMasson ditions Paris ISBN 2-225-85373-8
19 German
bull Fortran 90 Lehrbuch D Rabenstein Hanser 1995 ISBN 3-446-18235-7
bull Die Programmiersprache F W Gehrke Springer-Verlag ISBN 3-540-63376-6
bull Fortran 90 - BWojcieszynski and RWojcieszynski Addison-Wesley 1993 ISBN3-89319-600-5
bull Fortran 90 eine informelle Einfhrung M Heisterkamp BI-Wissenschaftsverlag1991 ISBN 3-411-15321-0
bull Fortran 90 Kurs technisch orientiert - G Schmitt Oldenbourg 1996 ISBN3-486-23896-5
bull Fortran 90 Lehr- und Arbeitsbuch fr das erfolgreiche Programmieren WSBrainerd CH Goldberg and JC Adams translated by Peter Thomas andKlaus G Paul R Olbenbourg Verlag Muenchen 1994 ISBN 3-486-22102-7
bull Fortran 90 Lehr- und Handbuch - T Michel BI-Wissenschaftsverlag 1994
bull Fortran 90 Referenz-Handbuch der neue Fortran-Standard W Gehrke CarlHansen Verlag 1991 ISBN3-446-16321-2
bull Programmierung in Fortran 90 - Schobert Oldenburg 1991
bull Programmierung mit Fortran 90 - Bumer Vieweg Braunschweig 1997 ISBN3-528-05208-2
110 ITALIAN 15
bull Programmieren in Fortran - Erasmus Langer Springer-Verlag Wien New York1993 ISBN 3-211-82446-4 0-387-82446-4
bull Software Entwicklung in Fortran 90 - berhuber and Meditz Springer Verlag1993 ISBN 0-387-82450-2
110 Italian
bull Some resources in Italian including a manual are at
httpspacetinitcomputergciabu
bull Programmare con Fortran G Ciaburro FAG 2008 ISBN 9788882336882
wwwciaburroitf90librohtm
httpwwwibsitcode9788882336882ciaburro-giuseppeprogrammare-con-fortranhtml
111 Japanese
bull Fortran 90 Explained - Metcalf and Reid translated by H Nisimura H WadaK Nishimura M Takata Kyoritsu Shuppan Co Ltd 1993 ISSN 0385-6984
112 Russian
bull An Explanation of the Fortran 90 Programming Language (translation of For-tran 90 Explained - Metcalf and Reid) translated P Gorbounov Mir Moscow1995 ISBN 5-03-001426-8 Available also from PetrGorbounovcernch
bull FORTRAN 77 to Fortran 90 Tutorial - Einarsson and Shokin Russian Academyof Sciences Novosibirsk 1995 ISBN 5-85826-013-6
113 Swedish
bull Fortran 90 - en introduktion - Blom Studentlitteratur Lund 1994 ISBN 91-44-47881-X
16 CHAPTER 1 BOOKS
Chapter 2
Compilers
bull Version 110 August 2012 Updated Nag entry 53 release supports openMPAlso updated product availability entry
bull Version 19 November 2010 Updated Absoft in response to an email fromWood Lotz
bull Version 18 July 2010 Updated Sun to reflect takeover by Oracle UpdatedSalford to reflect Silverfrost rebranding
bull Version 17 June 2009 Updated the Cray and Intel entries Added a newsection on compilers that are no longer available This has involved moving theentries on Apogee Compaq and NA Software into this section For historicalcompleteness wersquove also added an entry for EPC to this section
bull Version 16 September 2008 Updated the NAG entry with more details of theFortran Builder IDE
bull Version 15 September 2007 Updated Absoft Entry Compaq Fortran Com-pany Fujitsu Gnu Fortran 95 G95 IBM Intel LaheyFujitsu NAG NASoftware NEC Pathscale PGI SalfordSilverfrost SGI Sun
21 Introduction
The following is a list of companies and organisations that provide Fortran compilersthat conform to the Fortran 90 95 2003 and 2008 standards Fortran Forum hasa more or less standing table on compilers that support features from the 2003 and2008 standards The gfortran g95 and Sun compilers are free for Linux and gfortranand g95 are free for Windows
22 Absoft
httpwwwabsoftcom
18 CHAPTER 2 COMPILERS
Absoft Pro Fortran is a complete tool suite designed to automate building par-allel code on Linux Windows or Mac OSIntel Absoft Rolls are also available forx64Linux Compilers are full F95 include all popular legacy extensions many fromF2003 and are fully link and debug compatible with the host (Linux Microsoft MacOS) tool chain Compilers offer automatic parallelization vectorization OpenMP 30GPU support and Absoft application performance is consistently rated 1 on AMDand Intel systems by third party benchmarks IDE includes SMP graphical analyzerFx3 graphical multi-language debugger programmers editor several Fortran specificfeatures OpenMP and MPI controls math libraries VAXUnix libraries and 2D3Dgraphics Same look feel and functionality on all systems Nothing else to buy orlearn IMSL numerical libraries are a bundle option on all platforms
23 Cray
httpwwwcraycom
Cray has a fully optimizing Fortran 2003 compiler available for the Cray XT seriessystems This compiler also supports OpenMP and several Fortran 2008 featuresincluding submodules and coarrays
Cray has a fully-optimizing Fortran 95 compiler available for the Cray PVP (J90SV1) T3E and X1 systems The PVP compiler supports automatic parallization andOpenMP The T3E compiler supports coarrays The X1 compiler supports automaticstreaming OpenMP coarrays and many Fortran 2003 featuresrdquo
24 Fortran Company
httpwwwfortrancom
The Fortran Company offers F the subset language for Unix and Windows somein highly optimizing versions All of the full professional versions of the F compilerare available free by downloading them from the F anonymous ftp directory
The Fortran Tools include a Fortran 95 compiler with a graphical user interfacethat runs on Linux or Windows on a CD The CD also includes several Fortran booksin PDF format and many tools such as Matran a matrix computation library thatuses the highly tuned Atlas libraries a plotting package and a library of routines tocreate GUIs for your Fortran application programs
25 Fujitsu
httpwwwfujitsucomglobal
26 GNU FORTRAN 95 19
Fortran 95 (Solaris) A powerful updated development system used for FORTRANproductive applications Current version Sun Studio 9
The ISO Fortran 95 Standard is fully supported additionally there are enhance-ments for Fortran77 such as pointersstructures binaryoctalhexadecimal constantsetc High optimization includes automatic parallelization and OpenMP support AFortran runtime system optimized for UltraSPARC is now also included in the pack-age The development environment consists of the following components
Workbench An integral development environment for the CC++ and Fortrancompilers for compiler control program execution debugging performance analysiscoverage etc with a Motif-based graphical user interface (GUI)
Visual Analyzer A development and migration tool for CC++ and Fortranprograms The enclosed Source Analyzer allows the static program structure and theglobal data relations to be visualized It contains a class browser cross referencesand a calling graph viewer
Parallel Analyser Consists of an integrated development environment for theOpenMP programming It contains a manager a debugger and a profiler
Fujitsu also has a Fortran 95 compiler for Linux and a highly optimized nativeFortran 95 compiler FortranVPP and HPF for its VPP supercomputers
26 Gnu Fortran 95
httpgccgnuorgwikiGFortran
httpgccgnuorgfortran
Gfortran is the name of the GNU Fortran project developing a free Fortran 952003compiler for GCC the GNU Compiler Collection The gfortran development effortuses an open development environment in order to attract a larger team of devel-opers and to ensure that gfortran can work on multiple architectures and diverseenvironments The GNU Fortran 95 project or gfortran is developing a Fortran 95compiler front end as well as runtime libraries for GCC the GNU Compiler Col-lection Gfortran development is a part of the GNU project aiming to bring freenumber crunching to all GNU system variants The gfortran development effort usesan open development environment in order to attract a larger team of developers andto ensure that gfortran can work on multiple architectures and diverse environmentsIn particular the project wishes to reach the users of the Fortran 95 language beit in the scientific community in education or in a commercial environment Todaytruly free Fortran 90 or Fortran 95 compilers do not exist We are trying to makeone available to the Fortran community
27 g95
httpwwwg95org
20 CHAPTER 2 COMPILERS
g95 is a stable production Fortran 95 compiler available for multiple cpu architec-tures and operating systems Innovations and optimizations continue to be workedon Parts of the F2003 standard have been implemented in g95
28 Hewlett Packard
The web address that describes all of the compilers and supported hardware andoperating systems is
httph21007www2hpcomdspptechtech_TechSoftwareDetailPage_IDX11703623500h
HPrsquos Fortran products are available for multiple platforms Windows Tru64 UNIXAlphaServer systems Linux AlphaServer systems and HP OpenVMS (Alpha VAX)
Visual Fortran for WindowsFortran for Linux AlphaFortran for Tru64 UNIX AlphaFortran for HP OpenVMS AlphaFortran for HP OpenVMS IntegrityFortran for HP OpenVMS VAXFortran for HP-UXThe Windows product Compaq Visual Fortran includes the Microsoft Developer
Studio IDE which can be shared with Microsoft Visual C++ Parallel execution usingOpenMP-directed decomposition or HPF is included on the Tru64 UNIX platformOn Windows NT SMP parallel execution using directed decomposition is availablethrough Visual Compaq Fortran for Linux Alpha Systems is available as a freedownload under a Technology Enthusiast license for non-commercial use All Com-paq Fortran 95 products include the Compaq Extended Math Library of optimizedscientific subroutines and the allocatable array extensions
29 IBM
httpwww-306ibmcomsoftwareawdtoolsfortran
httpwww-306ibmcomsoftwareawdtoolsfortranxlfortranfeaturesf2003html
XL Fortran Enterprise Edition for AIX XL Fortran Enterprise Edition for AIX pro-vides industry-leading code optimization and tuning features a full implementationof the OpenMP API Version 25 Symmetric Multiprocessing (SMP) APIs directmanipulation of the floating-point status and control register 64-bit enablementasynchronous IO debug memory routines and many other features
XL Fortran Advanced Edition for Blue Gene XL Fortran Advanced Edition forBlue Gene is the latest addition to our XL Fortran compiler family It expands our
210 INTEL 21
proven XL Fortarn compiler technology to exploit the capabilities of the PowerPC440 and 440d processors used in IBM Blue GeneL supercomputers
XL Fortran Advanced Edition for Linux XL Fortran Advanced Edition for Linuxsupports your choice of RHEL4 SLES9 and Y-HPC Linux distributions Advancedoptimization technology and VMX support help you create high-performance 32-bitand 64-bit applications that run efficiently on a variety of processor architecturesincluding IBMrsquos newest POWER5+ and PowerPC 970 processors and Apple PowerMac G5 and Xserve G5 systems
VS FORTRAN VS FORTRAN contains features geared to help Fortran program-mers develop applications more easily and efficiently while using the full power ofIBMrsquos large systems
The second web link has details of Fortran 2003 support
210 Intel
httpsoftwareintelcomen-usintel-compilers
Intel offers optimizing Fortran compilers for the IA-32 x64 and IA-64 (Intel Ita-nium) architectures running the Linux Mac OS X (IA-32 and x64) or Windows op-erating systems Intel Fortran is fully compliant with Fortran 95 and supports mostof Fortran 2003 as well as many popular extensions The compiler offers automaticparallelization and vectorization and supports OpenMP 30 as well as generatingoptimized code for the latest Intel processors and compatible non-Intel processors
On all platforms the Intel Fortran compiler includes the Intel Math Kernel Li-brary a library of highly optimized extensively threaded math routines for scienceengineering and financial applications The IMSL Fortran Numeric Library 60 fromVisual Numerics is an option on Windows
On Windows the compiler integrates into Microsoft Visual Studio 2003 2005 or2008 and includes a self-sufficient Fortran development environment based on Mi-crosoft Visual Studio 2008 The Windows compiler also provides mechanisms tointerface Fortran code with the Microsoft COM and NET environments Academicand student pricing is available
211 LaheyFujitsu
httpwwwlaheycom
LaheyFujitsu Fortran 95 is produced by the LaheyFujitsu alliance LF95 is avail-able in three Windows configurations Express Standard and PRO and two Linuxconfigurations Express and PRO All configurations feature VAX IBM and POSIXlanguage extensions allocatable array enhancements etc The Windows and LinuxExpress version is command line only and features the compiler linker and debug-ger PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-
22 CHAPTER 2 COMPILERS
TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creatingtrue Windows programs with Fortran and a Coverage Analysis Tool that detects un-executed code and performs range of operation checking The PRO is compatible withVisual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 Math Libraryand Visual Analyzer (see below) The PRO Linux version offers auto-parallelizationOpenMP compatibility thread-safe BLAS and LAPACK WiSK AUTOMAKE andFujitsus SSL2 All products come with free technical support and are available at Also available is a subset compiler elf90
It would appear that the Windows version is no longer under active developmentThe last update was dated December 2004
212 NAG
httpwwwnagcouknagwareasp
The NAG Fortran Compiler derived from the worldrsquos first Fortran 90 Compilerfrom NAG is robust highly tested and valued by developers all over the globe forits checking capabilities and detailed error reporting Available on a wide range ofUnix and Windows platforms it accepts fixed or free format Fortran 95 input andmany common Fortran 77 extensions are allowed A large number of Fortran 2003language features are now available HPF code is also compiled and checked thoughonly single processor output is generated The 53 release supports a good workingsubset of OpenMP 3
The following versions are availableApple Intel Mac64 Release 53 gcc 42HP PA-RISC 11 Release 51 HP ANSI CIBM Power AIX Release 51 AIX XL C 60IBM Z9 Linux Release 51 gcc 346IBM Z9 Open Edition Release 52 IBM CLinux x86-32 Release 53 gcc 322Linux64 Release 53 gcc 412Sun SPARC Solaris Release 52 gcc 342Sun SPARC Solaris Release 52 Sun C v 55x86 and x86-64 Windows Release 53An integrated Fortran IDE is also available for Windows
httpwwwnagcouknagwarenpfortranbuilderasp
213 NEC
httpwwwneccom
214 ORACLE - ORIGINALLY SUN 23
NEC has a native optimizing Fortran 95 compiler FORTRAN90SX with anautomatic vectorization and parallelization capability for its supercomputer SX se-ries HPFSX V2 provides functions conforming to the specification of HPF11 andHPF20 and can be used with vector processing functions in SX Fortran and withparallel processing functions using microtasking
214 Oracle - originally Sun
httpwwworaclecomussunindexhtm
httpwwwsuncom
httpdeveloperssuncomsunstudio
httpdeveloperssuncomsunstudiodownloadsexpress
Sun Studio software delivers high-performance optimizing C C++ and Fortrancompilers for the Solaris OS on SPARC and both Solaris and Linux on x86x64platforms including the latest multi-core systems
Whatrsquos in Sun StudioAll Compilers - Specify 32-bit or 64-bit Address Model Auto-parallelization of
single-threaded code Flags Static data-race and deadlock-detection for x86 Mathand Visual Instruction Set Support in SPARC64 VI Option for Floating-Point Fusedor Multiply-Add Instructions Option for Thread Analyzer support Linux SupportOpenMP and OpenMPI suport Support for the directives clauses and attributes
Fortran Compiler - Interval arithmetic support on Solaris Intel platform Fastercompilation time for source files UNSIGNED arguments Backward compatibilitywith f77
C Compiler - More options Auto-parallelization of single-threaded code GNU Ccompatibility
C++ Compiler - More options ABI compatibility Compiler flags to optimize formulticore architectures Static linking the standard C++ runtime library
215 PathScale
httpwwwpathscalecomproductspathscale_compiler_suite
PathScalersquos goal is to make it easier to develop and deploy 64-bit applications intoclustered environments PathScale has developed the industryrsquos highest-performanceC C++ and Fortran 9X compilers for 64-bit Linux-based computer systems ThePathScale Compiler Suite shares its heritage with the well-known and mature SGIcompiler suite The PathScale Compiler Suite has been optimized for both the
24 CHAPTER 2 COMPILERS
AMD64 and EM64T architectures and has the worldrsquos most sophisticated optimiza-tion infrastructure
Unlike other compilers the PathScale Compiler Suite provides superior perfor-mance across both floating-point and integer-intensive applications Application de-velopers targeting 64-bit Linux servers will see immediate performance benefits fromcompiling with the PathScale compilers
The PathScale Compiler Suite includesC C++ and Fortran 779095 compilers Industry leading optimizations Com-
plete support for OpenMP 20 (including WORKSHARE) Complete support for 64-bit and 32-bit x86 compilation Code generation for AMD64 ABI AMD Opteronand Intel EM64T PathScale optimized AMD Core Math Library (available for down-load) Advanced serial debugger PathDB Compatible with GNUgcc tool chain andpopular Third Party debuggers Supported on SUSE RedHat and Fedora Linux Thecurrently shipping version of the PathScale Compiler Suite is
216 PGI
httpwwwpgroupcom
High-performance Optimizing Parallel Compilers For multi-core 64-bit x64 and 32-bit x86 processor-based Linux Mac OS X and Windows workstations servers andclusters PGI Workstation includes a single seat license for PGIrsquos suite of compilersand tools Also available with a multi-user network floating license (PGI Server)The PGI CDK Cluster Development Kit includes all the software for building andprogramming a turn-key Linux cluster PGI Visual Fortran fully integrates PGIparallel Fortran into Microsoft Windows using Microsoft Visual Studio 2005
217 Silverfrost nee Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
Salford Software markets FTN95 a Fortran 95 compiler for Win32 running onWindows 95NT2000XP PCs It has announced its Fortran 95 compiler for Mi-crosoft NET (FTN95 for NET) This compiler will produce fast executables fromsource files that may be any combination of Fortran 77 Fortran 90 and Fortran 95FTN95 for NET including integrated Help and Debugger is supplied bundled withFTN95 for Win32 and optionally with Microsoft Visual Studio for NET A low-costfully-featured personal edition is also available
218 SGI
httpwwwsgicomproductssoftwareirixtoolsfortranhtml
219 SUN - SEE ORACLE 25
MIPSpro Fortran Compilers This 64-bit ANSI Fortran 77 compiler is ideal forsystems running IRIX 6x It is compatible with VAXVMS Fortran and supportsCray extensions The 74 version of the MIPSpro Fortran 77 and Fortran 90 compilersnow support the OpenMP 20 standard Among the new features introduced in theOpenMP 20 specification are
WORKSHARE directive COPYPRIVATE clause for the broadcast of sequentialreads Portable timing routines MIPSpro Fortran 90 Compiler A 64 bit ANSI Fortran90 compiler with additional support for user-defined multiprocessing directives forsystems running IRIX 6x Compatible with VAXVMS Fortran and supports Crayextensions With the release of version 74 Fortran 90 specific support under theOpenMP 20 standard are
Parallelization of F90 array syntax via the WORKSHARE directive Privatizationof deferred shape and assumed shape objects The full Fortran 20 specification canobtained from the OpenMP Web site at httpwwwopenmporg
For more information read about the MIPSpro compilers
219 Sun - see Oracle
220 No longer available
2201 Apogee
httpwwwapogeecom
Features of the FORTRAN 7790 CompilerNo longer available Originally available for the SolarisSPARC platforms the
compiler conforms to Sunrsquos Solaris ABI and produces assembler code files acceptableto Sunrsquos Solaris assembler When used in the FORTRAN 77 compilation modethe compiler is compliant with the MIL-STD 1753 FORTRAN 77 and accepts mostFORTRAN 77 extensions of Sun IBM and other F77 compilers The supportedF77 extensions include structures length qualification on types additional data andconstant types initializations in type statements additional statements (END DODO WHILE POINTER VOLATILE etc) computations with aggregates namelist-directed IOs and debugging statements
When used in the Fortran 90 mode the compiler is compliant with the ANSIISOFortran 90 standard
2202 Compaq
This compiler is no longer under development This ceased when Intel bought outthe technology from HP Still widely used with legacy software Copies for sale canbe found on Ebay and similar vites
26 CHAPTER 2 COMPILERS
2203 EPC
Edinburgh Portable Compilers was an early vendor to produce a Fortran 90 compila-tion system A report by Adam Marshall from Liverpool University has a comparisionof several early Fortran 90 compilers It can be found at the address below
httpwwwlivacukHPCFortranCompilerStudyHTMLFortranCompilerStudyHTMLhtml
2204 NA Software
httpwwwnasoftwarecoukhomehtml
No longer available
Chapter 3
Fortran aware editors and IDEs
bull Version 15 October 2011 Updated photran entry
bull Version 14 July 2010 Added SunStudio Express entry
bull Version 131 April 2006 Added Windows Zeus entry
31 Windows
311 Absoft Editor (ae)
httpwwwabsoftcom
312 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
313 compaq visual fortran 6x
Nolongeravailable
314 editeur
wwwstudiowarecom
315 emacsxemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
316 emacsxemacs - cygwin components
httpwwwcygwincom
28 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
317 gvimvim - stand alone
httpwwwvimorg
318 gvimvim - cygwin component
httpwwwcygwincom
319 jed wjed (Windows)
httpwwwjedsoftorgjed
3110 lahey ed
httpwwwlaheycom
3111 microsoft visual studio 6
No longer available
3112 Microsoft Visual StudioNET
There are a number of vendors that have provided integration with Microsoft VisualStudio NET These include
Intel Visual Fortranwwwintelcom
LaheyFujitsu Fortranwwwlaheycom
Silverfrost Salford FTN95httpwwwsilverfrostcom11ftn95overviewasp
3113 nedit - cygwin
httpwwwneditorg
3114 ntemacs
httpwwwgnuorgsoftwareemacswindowsntemacshtml
3115 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
32 LINUXUNIX 29
3116 salford plato
httpwwwsilverfrostcom11ftn95overviewasp
3117 Oracle Solaris Studio Express
httpdeveloperssuncomsunstudiodownloadsexpress
3118 UltraEdit
wwwultraeditcom
3119 xemacsemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
3120 xemacsemacs - cygwin components
httpwwwcygwincom
3121 Zeus ide
httpwwwzeuseditcomfortranhtml
32 LinuxUnix
321 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
322 emacsxemacs
httpwwwgnuorgsoftwareemacsemacshtml
323 jed xjed (Unix(all flavours)OpenVMS) wjed (Win-dows)
httpwwwjedsoftorgjed
324 nedit
httpwwwneditorg
30 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
325 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
33 Apple OS X
331 Absoft Editor
httpwwwabsoftcom
332 BBEdit
httpwwwapplecomdownloadsmacosxproductivity_toolsbbedithtml
httpwwwbarebonescomproductsbbeditindexshtml
333 emacsxemacs
pre-installed
334 Photran
wwwphotranorg
335 Smultron
httpsmultronsourceforgenet
336 TextMate
httpmacromatescom
337 TextWrangler
httpwwwapplecomdownloadsmacosxproductivity_toolstextwranglerhtml
httpwwwbarebonescomproductstextwranglerindexshtml
338 Vim
Pre-installed
33 APPLE OS X 31
339 Xcode
httpdeveloperapplecom
3310 xemacsemacs
pre-installed
32 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
Chapter 4
Commercial Courses
bull Version 14 August 2012 Updated several entries
bull Version 13 November 2011 Notified by Shaun Forth at Cranfield of theirchanges Also added the HECToR entries
bull Version 12 August 2010
bull Version 11 September 2008
bull Version 10 January 2006
41 Ian Chivers and Jane Sleightholme
Ian Chivers and Jane Sleightholme are available to do tailored on site courses Coursesinclude
bull Introduction to Modern Programming in Fortran
bull Advanced Features of Modern Fortran
See
httpwwwfortranpluscouk
42 Cranfield University
Cranfield University offers four Fortran programming courses
bull Introduction to Programming in Fortran 95 and 2003 (3 days)
bull Advanced Programming in Fortran 95 and 2003 (3 days)
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
CONTENTS 5
3310 xemacsemacs 31
4 Commercial Courses 3341 Ian Chivers and Jane Sleightholme 3342 Cranfield University 3343 The Fortran Company 3444 Hector 3445 Lahey 3546 Michael Metcalf 3547 Nihon NAG Numerical Algorithms Group Japan 3548 PTR Associates 3549 Purple Sage Computing Solutions Inc 36410 John Reid 36411 France 36412 Japan 36
4121 Nihon NAG Numerical Algorithms Group Japan 36
5 On Line Training Material 3951 CERN 3952 Paul Dubois 3953 Linkoping University 3954 Liverpool University 3955 French 40
6 Graphics and Windows Programming 4161 Introduction 4162 dislin 41
621 Worked examples 4263 gino 42
631 Documentation 42632 Worked examples 42
64 ginomenu 42641 Documentation 43
65 interacter 43651 Documentation 43652 Worked examples 43
66 opengl 43661 Documentation 43662 Worked examples 43663 Documentation 44664 Worked examples 44
67 realwin 44671 Documentation 44672 Worked examples 44
68 toolmaster 45
6 CONTENTS
681 Documentation 45
682 Worked examples 45
69 winteracter 45
691 Documentation 45
692 Worked examples 45
610 Microsoft Windows graphics programming 45
6101 LaheyFujitsu 46
6102 Salford Software 46
7 Parallel Programming 47
71 Introduction 47
711 Books 48
72 Automatic 48
73 Coarray Fortran 49
74 HPF 49
75 MPI 49
751 Books 49
752 Courses 50
753 Requirements 50
76 OpenMP 50
761 Books 51
762 Courses 51
763 Resources 51
764 Requirements 52
77 Posix Threads 52
78 Notes on the table below 52
79 Table of compilers and supported parallel options 54
710 Parallelisation Tools 55
7101 Crescent Bay Software 55
7102 Parallel Software Products 56
8 Fortran Software Tools 57
81 Refactoring 57
82 Convert 57
83 Forcheck 58
84 FOR STRUCT 58
85 FOR STUDY 58
86 Fortran90-lint 58
87 NAGWare Fortran Tools 58
88 photran 58
89 plusFORT 59
810 VAST77to90 59
CONTENTS 7
9 Fortran Electronic Lists 6191 comp-fortran-90 6192 complangfortran 6193 LinkedIn 6294 Compiler specific 62
941 Absoft 62942 Apogee 63943 Compaq 63944 Cray 63945 Fortran Company 63946 Fujitsu 63947 Gnu Fortran 95 63948 G95 63949 Hewlett Packard 639410 IBM 639411 Intel 649412 Lahey Fujitsu 649413 NAG 649414 NA Software 649415 NEC 649416 Pathscale 649417 PGI 649418 Salford Software 649419 SGI 659420 SUN 65
10 Fortran Standard Bodies 67101 Introduction 67102 WG5 67103 PL223 67
11 Other Web Links 71111 Fortran History 71
1111 A brief history of FORTRAN-Fortran 711112 Computer Languages History (preview) 711113 Computer Languages History 711114 Fortran A few historical details 711115 Open Directory - Fortran Tutorials Fortran 90 and 95 711116 Open Directory - Fortran 711117 The Fortran (not the foresight) saga 72
112 Computer Arithmetic 721121 What every computer scientist should know about floating point arithmetic 721122 IEEE 754r - Wikipedia the free encyclopedia 721123 IEEE 754 Standard for Binary Floating-Point Arithmetic 721124 IEEE Standard 754 Floating-Point 72
8 CONTENTS
1125 William Kahan 721126 IEEE 754 floating-point test software 721127 Interval FAQ from Alejandro Casares ndash What machines support IEEE 754 721128 Decimal Arithmetic - FAQ 1 721129 General Decimal Arithmetic 72
113 Programming 731131 Calling FORTAN and C from Java 731132 CS 267 Applications of Parallel Computers 731133 Hillsidenet - Design Patterns Book - DP Book 731134 Hillsidenet - Design Patterns Book - Source 731135 Home page of Les Hatton 731136 Parallel Programming - Basic Theory For The Unwary 731137 Putting a Java Interface on your C C++ or Fortran Code 731138 Teach Yourself Programming in Ten Years 73
Chapter 1
Books
bull Version 17 August 2012 Added Section 11 Chivers Added Section 11 Mar-cus
bull Version 16 January 2012 Added Section 15 Chivers
bull Version 15 October 2011 Added Section 11 Chivers Added Section 11 Cler-man Added Section 11 Gnu Fortran Added Section 11 Rouson Added Section12 Lakshmivarahan
bull Version 14 July 2010 Added Section 11 Brainerd Added Section 11 McCor-mmack Added Section 11 Ray Added Section 12 Rajaram Added Section13 Barlow et al Added Section 14 Chandra et al Added Section 14 Chapmanet al
bull Version 13 June 2009 Removed invalid web address in Morgan and Schonfelderentry Corrected spelling in Chinese entry
bull Version 12 September 2008 Added Section 11 Adams et al Added Section110 Ciaburro
bull Version 11 September 2007 Added Section 11 Chapman Added Section 12Lemmon
11 Fortran 2003 and 2008 - English
bull Adams JC Brainerd WS Hendrickson RA Maine RE Martin JTSmith BT The Fortran 2003 Handbook The Complete Syntax Features andProcedures 2008 Springer Verlag ISBN 978-1-84628-378-9
bull Brainerd WS Guide to Fortran 2003 Programming 2009 Springer VerlagISBN 978-1-84882-542-0
bull Chapman SJ Fortran 952003 For Scientists and Engineers 2007 McGraw-Hill ISBN 978-0073191577 ISBN 0073191574
10 CHAPTER 1 BOOKS
bull Chivers ID Sleightholme J Introduction to Programming with Fortran Withcoverage of Fortran 90 95 2003 2008 and 77 2012 Springer Verlag ISBN-100857292323 ISBN-13 978-0857292322 Second Edition
bull Chivers ID Sleightholme J Introduction to Programming with Fortran Withcoverage of Fortran 90 95 2003 and 77 2006 Springer Verlag ISBN 1-84628-053-2 First Edition
bull Clerman NS Spector W Modern Fortran Style and Usage Cambridge Uni-versity Press 2011 ISBN-10 052173052X ISBN-13 978-0521730525
bull Gnu Fortran Team Using Gnu Fortran Manual For Gcc Version 433 Cre-ateSpace ISBN-10 1441412662 ISBN-13 978-1441412669 2009
bull McCormack D Scientific Software Development with Fortran 2009 ISBN 978-1-4452-5445-6
bull Metcalf M Reid J and Cohen M Fortran 952003 Explained 2004 OxfordUniversity Press ISBN 0-19-852693-8 ISBN 0-19-852692-X
bull Marcus A Modern Fortran in Practice 2012 Cambridge University PressISBN-10 1107017904 ISBN-13 978-1107017900
bull Ray S A Textbook on Fortran 2003 2009 Alpha Science International ISBN978-1-84265-479-8
bull Rouson D Xia J Xu X Scientific Software Design The Object-OrientedWay Cambridge University Press 2011 ISBN-10 0521888131 ISBN-13 978-0521888134
12 Fortran 95 - English
bull Adams JC Brainerd WS Martin JT Smith BT and Wagener JL Fortran95 Handbook 1997 MIT ISBN 0-262-51096-0
bull Adams JC Brainerd WS Martin JTand Smith BT Fortran Top 95 NinetyFive Key Features of Fortran 95 $10 The book is only available in PDF formfrom the Fortran Store httpwwwfortrancom
bull Akin E Object Oriented Programming via Fortran 9095 2003 CambridgeUniversity Press ISBN 0-521-52408-3
bull Chapman S J Fortran 9095 for Scientists and Engineers 2004 McGraw HillISBN 0-07-282575-8
bull Chapman SJ Introduction to Fortran 9095 1997 McGraw-Hill 1997 ISBN0-07-011969-4
13 FORTRAN 90 - ENGLISH 11
bull Chivers ID Sleightholme J Introducing Fortran 95 2000 Springer VerlagISBN 185233276X
bull Counihan M Fortran 95 1997 UCL ISBN 185728367-8
bull Etzel M Dickinson K Digital Visual Fortran 90 Programmerrsquos Guide 1999Digital Press ISBN 1-55558-218-4
bull Gehrke Fortran 95 Language Guide 1996 Springer ISBN 3-540-76062-8
bull Lakshmivarahan S Sudarshan K Dhall Programming in Fortran 9095 Pub-lisher Pearson Custom Publishing (2002) ASIN B000XM3WZ0
bull Lawrence N Compaq Visual Fortran A Guide to Creating Windows Applica-tions 2001 Digital Press ISBN 1-55558-249-4
bull Lemmon DRSchafer JL Developing Statistical Software in Fortran 95 2005Springer ISBN-10 0387238174 ISBN-13 978-0387238173
bull Metcalf M Reid J Fortran 9095 Explained 1999 Oxford University PressISBN 0-19-850558-2
bull Morgan amp Schonfelder Programming in Fortran 9095 available in AcrobatPDF format from httpwwwfortrancom
bull Rajaram V Computer Programming in Fortran 90 and 95 2004 Prentice HallISBN 978-8120311817
bull Vowels R Introduction to Fortran 9095 Algorithms and Structured Pro-gramming Part 1 Introduction to Fortran 90 Part 2 Algorithms and Fortran90 ISBN 0-9596384-8-2
13 Fortran 90 - English
bull Barlow RJ Barnett AR Computing for Scientists Principles of Program-ming with Fortran 90 and C++ 1998 Wiley Blackwell ISBN 978-0471955962
bull Adams Brainerd Martin Smith and Wagener Fortran 90 Handbook 1992McGraw Hill ISBN 0-07-000406-4
bull Brainerd Goldberg and Adams Programmers Guide to Fortran 90 1996Springer ISBN 0-387-94570-9
bull Brainerd Goldberg and Adams Programmers Guide to Fortran 90 1994 Uni-comp ISBN 0-07-000248-7
bull Brooks Problem solving with Fortran 90 for scientists and engineers 1997Springer ISBN 0-387-98229-9
12 CHAPTER 1 BOOKS
bull Chivers ID Sleightholme J Introducing Fortran 90 1995 Springer ISBN3-540-19940-3
bull Ellis Philips Lahey Fortran 90 Programming 1994 Addison Wesley ISBN0-201-54446-6
bull Etter Fortran 90 for Engineers 1995 BenjaminCummings ISBN 0-201544-46-6
bull Gehrke Fortran 90 Language Guide 1996 Springer ISBN 3-540-19926-8
bull Hahn DB Fortran 90 for Scientists and Engineers 1994 Edward Arnold ISBN0-340-60034-9
bull Huddleston Fortran 90 1996 Exchange Publ Div ISBN 0-945261-07-1
bull Kerrigan JF Migrating to Fortran 90 1993 OrsquoReilly ISBN 1-56592-049-X
bull Meissner LP Fortran 90 1995 PWS Kent ISBN 0-534-93372-6
bull Metcalf M Reid J Fortran 90 Explained 1990 Oxford University Press ISBN0-19-853772-7
bull Morgan amp Schonfelder Programming in Fortran 90 1993 Alfe4d Waller ISBN1-872474-06-3
bull Nyhoff Leestma Fortran 90 for Engineers and Scientists1 1996 PrenticeHall ISBN 0-13-519729-5
bull Nyhoff Leestma An introduction to Fortran 90 for Engineers and Scientists1996 Prentice Hall ISBN 0-13-505215-7
bull Redwine Upgrading to Fortran 90 1995 Springer-Verlag ISBN 0-387-97995-6
bull Schick Silverman Fortran 90 and Engineering Computation 1994 JohnWiley ISBN 0-471-58512-2
bull Smith IM Programming in Fortran 90 Wiley ISBN 0471-94185-9
bull Wagener Fortran 90 Concise Reference 1998 Absoft ISBN 0-9670066-0-0
14 English books on related topics
bull Advanced Scientific Computing - Wille Wiley 1995 ISBN 0471-95383-0
bull Atlas for Computing Mathematical Functions in Fortran 90 and Mathematica- Thompson Wiley 1997 0-471-18171-4
15 CHINESE 13
bull Contemporary Computing for Technical Engineers and Scientists using Fortran90 and spreadsheets - Forsythe PWS 1997 0-534-93139-1
bull Numerical Recipes in Fortran 90 The Art of Parallel Scientific ComputingVolume 2 of Fortran Numerical Recipes - Press Teukolsky Vetterling and Flan-nery Cambridge U Press ISBN 0-521-57439-0 1996 Code can be downloaded(purchased) from httpwwwnrcom A CDROM is also available (see Website)
15 Chinese
bull Introduction to Programming with Fortran with coverage of Fortran 90 952003 and 77 Ian Chivers and Jane Sleightholme Posts and Telecom Pressand Springer-Verlag London 2009 ISBN 978-7-115-21227-6 (A translation ofIntroduction to Programming in Fortran)
bull Programming Language Fortran 90 - He Xingui Xu Zuyuan Wu Qingbao andChen Ming yuan China Railway Publishing House Beijing ISBN 7-113-01788-6TP187 1994
bull Fortran 90 - Walter S Brainerd Charles H Goldberg Jeanne C Adams CHEPBeijing and Springer Berlin 2000 ISBN 7-04-007937-2 (a translation of Pro-grammerrsquos Guide to Fortran 90)
16 Dutch
bull Fortran 90 - WS Brainerd ChH Goldberg and JC Adams translated byJM den Haan Academic Service 1991 ISBN 90 6233 722 8
17 Finnish
bull Fortran 9095 - Juha Haataja Jussi Rahola and Juha Ruokolainen Center forScientific Computing (Finland) 2001 339 pages 3rd edition ISBN 952-9821-60-3 WWW version httpwwwcscfioppaatf95
18 French
bull Fortran 90 Approche par la Pratique - P Lignelet Srie Informatique ditionsMenton 1993 ISBN 2-909615-01-4
bull Fortran 90 Les concepts fondamentaux the translation of Fortran 90 Ex-plained M Metcalf J Reid translated by M Caillat and B Pichon AFNOR1993 Paris ISBN 2-12-486513-7
14 CHAPTER 1 BOOKS
bull Fortran 90 Initiation partir du Fortran 77 - Aberti Srie Informatique ditionsMenton 1992 ISBN 2-909615-00-6
bull Les spcificits du Fortran 90 M Dubesset et J Vignes ditions Technip 1993 ISBN 2-7108-0652-5
bull Manuel complet du langage Fortran 90 et guide dapplication P Lignelet SrieInformatique ditions 1995 ISBN 2-909615-02-2
bull Manuel Complet du Langage Fortran 90 et Fortran 95 Calcul intensif et GnieLogiciel P Lignelet Masson ditions Paris 1996 ISBN 2-225-85229-4
bull Programmer en Fortran 90 C Delannoy Eyrolles 1992 ISBN 2-212-08723-3
bull Traitement des donnes numriques avec Fortran 90 M Olagnon Masson ditions1996 ISBN 2-225-85259-6
bull Structures des donnes (et leurs algorithmes) en Fortran 9095 P LigneletMasson ditions Paris ISBN 2-225-85373-8
19 German
bull Fortran 90 Lehrbuch D Rabenstein Hanser 1995 ISBN 3-446-18235-7
bull Die Programmiersprache F W Gehrke Springer-Verlag ISBN 3-540-63376-6
bull Fortran 90 - BWojcieszynski and RWojcieszynski Addison-Wesley 1993 ISBN3-89319-600-5
bull Fortran 90 eine informelle Einfhrung M Heisterkamp BI-Wissenschaftsverlag1991 ISBN 3-411-15321-0
bull Fortran 90 Kurs technisch orientiert - G Schmitt Oldenbourg 1996 ISBN3-486-23896-5
bull Fortran 90 Lehr- und Arbeitsbuch fr das erfolgreiche Programmieren WSBrainerd CH Goldberg and JC Adams translated by Peter Thomas andKlaus G Paul R Olbenbourg Verlag Muenchen 1994 ISBN 3-486-22102-7
bull Fortran 90 Lehr- und Handbuch - T Michel BI-Wissenschaftsverlag 1994
bull Fortran 90 Referenz-Handbuch der neue Fortran-Standard W Gehrke CarlHansen Verlag 1991 ISBN3-446-16321-2
bull Programmierung in Fortran 90 - Schobert Oldenburg 1991
bull Programmierung mit Fortran 90 - Bumer Vieweg Braunschweig 1997 ISBN3-528-05208-2
110 ITALIAN 15
bull Programmieren in Fortran - Erasmus Langer Springer-Verlag Wien New York1993 ISBN 3-211-82446-4 0-387-82446-4
bull Software Entwicklung in Fortran 90 - berhuber and Meditz Springer Verlag1993 ISBN 0-387-82450-2
110 Italian
bull Some resources in Italian including a manual are at
httpspacetinitcomputergciabu
bull Programmare con Fortran G Ciaburro FAG 2008 ISBN 9788882336882
wwwciaburroitf90librohtm
httpwwwibsitcode9788882336882ciaburro-giuseppeprogrammare-con-fortranhtml
111 Japanese
bull Fortran 90 Explained - Metcalf and Reid translated by H Nisimura H WadaK Nishimura M Takata Kyoritsu Shuppan Co Ltd 1993 ISSN 0385-6984
112 Russian
bull An Explanation of the Fortran 90 Programming Language (translation of For-tran 90 Explained - Metcalf and Reid) translated P Gorbounov Mir Moscow1995 ISBN 5-03-001426-8 Available also from PetrGorbounovcernch
bull FORTRAN 77 to Fortran 90 Tutorial - Einarsson and Shokin Russian Academyof Sciences Novosibirsk 1995 ISBN 5-85826-013-6
113 Swedish
bull Fortran 90 - en introduktion - Blom Studentlitteratur Lund 1994 ISBN 91-44-47881-X
16 CHAPTER 1 BOOKS
Chapter 2
Compilers
bull Version 110 August 2012 Updated Nag entry 53 release supports openMPAlso updated product availability entry
bull Version 19 November 2010 Updated Absoft in response to an email fromWood Lotz
bull Version 18 July 2010 Updated Sun to reflect takeover by Oracle UpdatedSalford to reflect Silverfrost rebranding
bull Version 17 June 2009 Updated the Cray and Intel entries Added a newsection on compilers that are no longer available This has involved moving theentries on Apogee Compaq and NA Software into this section For historicalcompleteness wersquove also added an entry for EPC to this section
bull Version 16 September 2008 Updated the NAG entry with more details of theFortran Builder IDE
bull Version 15 September 2007 Updated Absoft Entry Compaq Fortran Com-pany Fujitsu Gnu Fortran 95 G95 IBM Intel LaheyFujitsu NAG NASoftware NEC Pathscale PGI SalfordSilverfrost SGI Sun
21 Introduction
The following is a list of companies and organisations that provide Fortran compilersthat conform to the Fortran 90 95 2003 and 2008 standards Fortran Forum hasa more or less standing table on compilers that support features from the 2003 and2008 standards The gfortran g95 and Sun compilers are free for Linux and gfortranand g95 are free for Windows
22 Absoft
httpwwwabsoftcom
18 CHAPTER 2 COMPILERS
Absoft Pro Fortran is a complete tool suite designed to automate building par-allel code on Linux Windows or Mac OSIntel Absoft Rolls are also available forx64Linux Compilers are full F95 include all popular legacy extensions many fromF2003 and are fully link and debug compatible with the host (Linux Microsoft MacOS) tool chain Compilers offer automatic parallelization vectorization OpenMP 30GPU support and Absoft application performance is consistently rated 1 on AMDand Intel systems by third party benchmarks IDE includes SMP graphical analyzerFx3 graphical multi-language debugger programmers editor several Fortran specificfeatures OpenMP and MPI controls math libraries VAXUnix libraries and 2D3Dgraphics Same look feel and functionality on all systems Nothing else to buy orlearn IMSL numerical libraries are a bundle option on all platforms
23 Cray
httpwwwcraycom
Cray has a fully optimizing Fortran 2003 compiler available for the Cray XT seriessystems This compiler also supports OpenMP and several Fortran 2008 featuresincluding submodules and coarrays
Cray has a fully-optimizing Fortran 95 compiler available for the Cray PVP (J90SV1) T3E and X1 systems The PVP compiler supports automatic parallization andOpenMP The T3E compiler supports coarrays The X1 compiler supports automaticstreaming OpenMP coarrays and many Fortran 2003 featuresrdquo
24 Fortran Company
httpwwwfortrancom
The Fortran Company offers F the subset language for Unix and Windows somein highly optimizing versions All of the full professional versions of the F compilerare available free by downloading them from the F anonymous ftp directory
The Fortran Tools include a Fortran 95 compiler with a graphical user interfacethat runs on Linux or Windows on a CD The CD also includes several Fortran booksin PDF format and many tools such as Matran a matrix computation library thatuses the highly tuned Atlas libraries a plotting package and a library of routines tocreate GUIs for your Fortran application programs
25 Fujitsu
httpwwwfujitsucomglobal
26 GNU FORTRAN 95 19
Fortran 95 (Solaris) A powerful updated development system used for FORTRANproductive applications Current version Sun Studio 9
The ISO Fortran 95 Standard is fully supported additionally there are enhance-ments for Fortran77 such as pointersstructures binaryoctalhexadecimal constantsetc High optimization includes automatic parallelization and OpenMP support AFortran runtime system optimized for UltraSPARC is now also included in the pack-age The development environment consists of the following components
Workbench An integral development environment for the CC++ and Fortrancompilers for compiler control program execution debugging performance analysiscoverage etc with a Motif-based graphical user interface (GUI)
Visual Analyzer A development and migration tool for CC++ and Fortranprograms The enclosed Source Analyzer allows the static program structure and theglobal data relations to be visualized It contains a class browser cross referencesand a calling graph viewer
Parallel Analyser Consists of an integrated development environment for theOpenMP programming It contains a manager a debugger and a profiler
Fujitsu also has a Fortran 95 compiler for Linux and a highly optimized nativeFortran 95 compiler FortranVPP and HPF for its VPP supercomputers
26 Gnu Fortran 95
httpgccgnuorgwikiGFortran
httpgccgnuorgfortran
Gfortran is the name of the GNU Fortran project developing a free Fortran 952003compiler for GCC the GNU Compiler Collection The gfortran development effortuses an open development environment in order to attract a larger team of devel-opers and to ensure that gfortran can work on multiple architectures and diverseenvironments The GNU Fortran 95 project or gfortran is developing a Fortran 95compiler front end as well as runtime libraries for GCC the GNU Compiler Col-lection Gfortran development is a part of the GNU project aiming to bring freenumber crunching to all GNU system variants The gfortran development effort usesan open development environment in order to attract a larger team of developers andto ensure that gfortran can work on multiple architectures and diverse environmentsIn particular the project wishes to reach the users of the Fortran 95 language beit in the scientific community in education or in a commercial environment Todaytruly free Fortran 90 or Fortran 95 compilers do not exist We are trying to makeone available to the Fortran community
27 g95
httpwwwg95org
20 CHAPTER 2 COMPILERS
g95 is a stable production Fortran 95 compiler available for multiple cpu architec-tures and operating systems Innovations and optimizations continue to be workedon Parts of the F2003 standard have been implemented in g95
28 Hewlett Packard
The web address that describes all of the compilers and supported hardware andoperating systems is
httph21007www2hpcomdspptechtech_TechSoftwareDetailPage_IDX11703623500h
HPrsquos Fortran products are available for multiple platforms Windows Tru64 UNIXAlphaServer systems Linux AlphaServer systems and HP OpenVMS (Alpha VAX)
Visual Fortran for WindowsFortran for Linux AlphaFortran for Tru64 UNIX AlphaFortran for HP OpenVMS AlphaFortran for HP OpenVMS IntegrityFortran for HP OpenVMS VAXFortran for HP-UXThe Windows product Compaq Visual Fortran includes the Microsoft Developer
Studio IDE which can be shared with Microsoft Visual C++ Parallel execution usingOpenMP-directed decomposition or HPF is included on the Tru64 UNIX platformOn Windows NT SMP parallel execution using directed decomposition is availablethrough Visual Compaq Fortran for Linux Alpha Systems is available as a freedownload under a Technology Enthusiast license for non-commercial use All Com-paq Fortran 95 products include the Compaq Extended Math Library of optimizedscientific subroutines and the allocatable array extensions
29 IBM
httpwww-306ibmcomsoftwareawdtoolsfortran
httpwww-306ibmcomsoftwareawdtoolsfortranxlfortranfeaturesf2003html
XL Fortran Enterprise Edition for AIX XL Fortran Enterprise Edition for AIX pro-vides industry-leading code optimization and tuning features a full implementationof the OpenMP API Version 25 Symmetric Multiprocessing (SMP) APIs directmanipulation of the floating-point status and control register 64-bit enablementasynchronous IO debug memory routines and many other features
XL Fortran Advanced Edition for Blue Gene XL Fortran Advanced Edition forBlue Gene is the latest addition to our XL Fortran compiler family It expands our
210 INTEL 21
proven XL Fortarn compiler technology to exploit the capabilities of the PowerPC440 and 440d processors used in IBM Blue GeneL supercomputers
XL Fortran Advanced Edition for Linux XL Fortran Advanced Edition for Linuxsupports your choice of RHEL4 SLES9 and Y-HPC Linux distributions Advancedoptimization technology and VMX support help you create high-performance 32-bitand 64-bit applications that run efficiently on a variety of processor architecturesincluding IBMrsquos newest POWER5+ and PowerPC 970 processors and Apple PowerMac G5 and Xserve G5 systems
VS FORTRAN VS FORTRAN contains features geared to help Fortran program-mers develop applications more easily and efficiently while using the full power ofIBMrsquos large systems
The second web link has details of Fortran 2003 support
210 Intel
httpsoftwareintelcomen-usintel-compilers
Intel offers optimizing Fortran compilers for the IA-32 x64 and IA-64 (Intel Ita-nium) architectures running the Linux Mac OS X (IA-32 and x64) or Windows op-erating systems Intel Fortran is fully compliant with Fortran 95 and supports mostof Fortran 2003 as well as many popular extensions The compiler offers automaticparallelization and vectorization and supports OpenMP 30 as well as generatingoptimized code for the latest Intel processors and compatible non-Intel processors
On all platforms the Intel Fortran compiler includes the Intel Math Kernel Li-brary a library of highly optimized extensively threaded math routines for scienceengineering and financial applications The IMSL Fortran Numeric Library 60 fromVisual Numerics is an option on Windows
On Windows the compiler integrates into Microsoft Visual Studio 2003 2005 or2008 and includes a self-sufficient Fortran development environment based on Mi-crosoft Visual Studio 2008 The Windows compiler also provides mechanisms tointerface Fortran code with the Microsoft COM and NET environments Academicand student pricing is available
211 LaheyFujitsu
httpwwwlaheycom
LaheyFujitsu Fortran 95 is produced by the LaheyFujitsu alliance LF95 is avail-able in three Windows configurations Express Standard and PRO and two Linuxconfigurations Express and PRO All configurations feature VAX IBM and POSIXlanguage extensions allocatable array enhancements etc The Windows and LinuxExpress version is command line only and features the compiler linker and debug-ger PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-
22 CHAPTER 2 COMPILERS
TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creatingtrue Windows programs with Fortran and a Coverage Analysis Tool that detects un-executed code and performs range of operation checking The PRO is compatible withVisual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 Math Libraryand Visual Analyzer (see below) The PRO Linux version offers auto-parallelizationOpenMP compatibility thread-safe BLAS and LAPACK WiSK AUTOMAKE andFujitsus SSL2 All products come with free technical support and are available at Also available is a subset compiler elf90
It would appear that the Windows version is no longer under active developmentThe last update was dated December 2004
212 NAG
httpwwwnagcouknagwareasp
The NAG Fortran Compiler derived from the worldrsquos first Fortran 90 Compilerfrom NAG is robust highly tested and valued by developers all over the globe forits checking capabilities and detailed error reporting Available on a wide range ofUnix and Windows platforms it accepts fixed or free format Fortran 95 input andmany common Fortran 77 extensions are allowed A large number of Fortran 2003language features are now available HPF code is also compiled and checked thoughonly single processor output is generated The 53 release supports a good workingsubset of OpenMP 3
The following versions are availableApple Intel Mac64 Release 53 gcc 42HP PA-RISC 11 Release 51 HP ANSI CIBM Power AIX Release 51 AIX XL C 60IBM Z9 Linux Release 51 gcc 346IBM Z9 Open Edition Release 52 IBM CLinux x86-32 Release 53 gcc 322Linux64 Release 53 gcc 412Sun SPARC Solaris Release 52 gcc 342Sun SPARC Solaris Release 52 Sun C v 55x86 and x86-64 Windows Release 53An integrated Fortran IDE is also available for Windows
httpwwwnagcouknagwarenpfortranbuilderasp
213 NEC
httpwwwneccom
214 ORACLE - ORIGINALLY SUN 23
NEC has a native optimizing Fortran 95 compiler FORTRAN90SX with anautomatic vectorization and parallelization capability for its supercomputer SX se-ries HPFSX V2 provides functions conforming to the specification of HPF11 andHPF20 and can be used with vector processing functions in SX Fortran and withparallel processing functions using microtasking
214 Oracle - originally Sun
httpwwworaclecomussunindexhtm
httpwwwsuncom
httpdeveloperssuncomsunstudio
httpdeveloperssuncomsunstudiodownloadsexpress
Sun Studio software delivers high-performance optimizing C C++ and Fortrancompilers for the Solaris OS on SPARC and both Solaris and Linux on x86x64platforms including the latest multi-core systems
Whatrsquos in Sun StudioAll Compilers - Specify 32-bit or 64-bit Address Model Auto-parallelization of
single-threaded code Flags Static data-race and deadlock-detection for x86 Mathand Visual Instruction Set Support in SPARC64 VI Option for Floating-Point Fusedor Multiply-Add Instructions Option for Thread Analyzer support Linux SupportOpenMP and OpenMPI suport Support for the directives clauses and attributes
Fortran Compiler - Interval arithmetic support on Solaris Intel platform Fastercompilation time for source files UNSIGNED arguments Backward compatibilitywith f77
C Compiler - More options Auto-parallelization of single-threaded code GNU Ccompatibility
C++ Compiler - More options ABI compatibility Compiler flags to optimize formulticore architectures Static linking the standard C++ runtime library
215 PathScale
httpwwwpathscalecomproductspathscale_compiler_suite
PathScalersquos goal is to make it easier to develop and deploy 64-bit applications intoclustered environments PathScale has developed the industryrsquos highest-performanceC C++ and Fortran 9X compilers for 64-bit Linux-based computer systems ThePathScale Compiler Suite shares its heritage with the well-known and mature SGIcompiler suite The PathScale Compiler Suite has been optimized for both the
24 CHAPTER 2 COMPILERS
AMD64 and EM64T architectures and has the worldrsquos most sophisticated optimiza-tion infrastructure
Unlike other compilers the PathScale Compiler Suite provides superior perfor-mance across both floating-point and integer-intensive applications Application de-velopers targeting 64-bit Linux servers will see immediate performance benefits fromcompiling with the PathScale compilers
The PathScale Compiler Suite includesC C++ and Fortran 779095 compilers Industry leading optimizations Com-
plete support for OpenMP 20 (including WORKSHARE) Complete support for 64-bit and 32-bit x86 compilation Code generation for AMD64 ABI AMD Opteronand Intel EM64T PathScale optimized AMD Core Math Library (available for down-load) Advanced serial debugger PathDB Compatible with GNUgcc tool chain andpopular Third Party debuggers Supported on SUSE RedHat and Fedora Linux Thecurrently shipping version of the PathScale Compiler Suite is
216 PGI
httpwwwpgroupcom
High-performance Optimizing Parallel Compilers For multi-core 64-bit x64 and 32-bit x86 processor-based Linux Mac OS X and Windows workstations servers andclusters PGI Workstation includes a single seat license for PGIrsquos suite of compilersand tools Also available with a multi-user network floating license (PGI Server)The PGI CDK Cluster Development Kit includes all the software for building andprogramming a turn-key Linux cluster PGI Visual Fortran fully integrates PGIparallel Fortran into Microsoft Windows using Microsoft Visual Studio 2005
217 Silverfrost nee Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
Salford Software markets FTN95 a Fortran 95 compiler for Win32 running onWindows 95NT2000XP PCs It has announced its Fortran 95 compiler for Mi-crosoft NET (FTN95 for NET) This compiler will produce fast executables fromsource files that may be any combination of Fortran 77 Fortran 90 and Fortran 95FTN95 for NET including integrated Help and Debugger is supplied bundled withFTN95 for Win32 and optionally with Microsoft Visual Studio for NET A low-costfully-featured personal edition is also available
218 SGI
httpwwwsgicomproductssoftwareirixtoolsfortranhtml
219 SUN - SEE ORACLE 25
MIPSpro Fortran Compilers This 64-bit ANSI Fortran 77 compiler is ideal forsystems running IRIX 6x It is compatible with VAXVMS Fortran and supportsCray extensions The 74 version of the MIPSpro Fortran 77 and Fortran 90 compilersnow support the OpenMP 20 standard Among the new features introduced in theOpenMP 20 specification are
WORKSHARE directive COPYPRIVATE clause for the broadcast of sequentialreads Portable timing routines MIPSpro Fortran 90 Compiler A 64 bit ANSI Fortran90 compiler with additional support for user-defined multiprocessing directives forsystems running IRIX 6x Compatible with VAXVMS Fortran and supports Crayextensions With the release of version 74 Fortran 90 specific support under theOpenMP 20 standard are
Parallelization of F90 array syntax via the WORKSHARE directive Privatizationof deferred shape and assumed shape objects The full Fortran 20 specification canobtained from the OpenMP Web site at httpwwwopenmporg
For more information read about the MIPSpro compilers
219 Sun - see Oracle
220 No longer available
2201 Apogee
httpwwwapogeecom
Features of the FORTRAN 7790 CompilerNo longer available Originally available for the SolarisSPARC platforms the
compiler conforms to Sunrsquos Solaris ABI and produces assembler code files acceptableto Sunrsquos Solaris assembler When used in the FORTRAN 77 compilation modethe compiler is compliant with the MIL-STD 1753 FORTRAN 77 and accepts mostFORTRAN 77 extensions of Sun IBM and other F77 compilers The supportedF77 extensions include structures length qualification on types additional data andconstant types initializations in type statements additional statements (END DODO WHILE POINTER VOLATILE etc) computations with aggregates namelist-directed IOs and debugging statements
When used in the Fortran 90 mode the compiler is compliant with the ANSIISOFortran 90 standard
2202 Compaq
This compiler is no longer under development This ceased when Intel bought outthe technology from HP Still widely used with legacy software Copies for sale canbe found on Ebay and similar vites
26 CHAPTER 2 COMPILERS
2203 EPC
Edinburgh Portable Compilers was an early vendor to produce a Fortran 90 compila-tion system A report by Adam Marshall from Liverpool University has a comparisionof several early Fortran 90 compilers It can be found at the address below
httpwwwlivacukHPCFortranCompilerStudyHTMLFortranCompilerStudyHTMLhtml
2204 NA Software
httpwwwnasoftwarecoukhomehtml
No longer available
Chapter 3
Fortran aware editors and IDEs
bull Version 15 October 2011 Updated photran entry
bull Version 14 July 2010 Added SunStudio Express entry
bull Version 131 April 2006 Added Windows Zeus entry
31 Windows
311 Absoft Editor (ae)
httpwwwabsoftcom
312 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
313 compaq visual fortran 6x
Nolongeravailable
314 editeur
wwwstudiowarecom
315 emacsxemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
316 emacsxemacs - cygwin components
httpwwwcygwincom
28 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
317 gvimvim - stand alone
httpwwwvimorg
318 gvimvim - cygwin component
httpwwwcygwincom
319 jed wjed (Windows)
httpwwwjedsoftorgjed
3110 lahey ed
httpwwwlaheycom
3111 microsoft visual studio 6
No longer available
3112 Microsoft Visual StudioNET
There are a number of vendors that have provided integration with Microsoft VisualStudio NET These include
Intel Visual Fortranwwwintelcom
LaheyFujitsu Fortranwwwlaheycom
Silverfrost Salford FTN95httpwwwsilverfrostcom11ftn95overviewasp
3113 nedit - cygwin
httpwwwneditorg
3114 ntemacs
httpwwwgnuorgsoftwareemacswindowsntemacshtml
3115 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
32 LINUXUNIX 29
3116 salford plato
httpwwwsilverfrostcom11ftn95overviewasp
3117 Oracle Solaris Studio Express
httpdeveloperssuncomsunstudiodownloadsexpress
3118 UltraEdit
wwwultraeditcom
3119 xemacsemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
3120 xemacsemacs - cygwin components
httpwwwcygwincom
3121 Zeus ide
httpwwwzeuseditcomfortranhtml
32 LinuxUnix
321 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
322 emacsxemacs
httpwwwgnuorgsoftwareemacsemacshtml
323 jed xjed (Unix(all flavours)OpenVMS) wjed (Win-dows)
httpwwwjedsoftorgjed
324 nedit
httpwwwneditorg
30 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
325 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
33 Apple OS X
331 Absoft Editor
httpwwwabsoftcom
332 BBEdit
httpwwwapplecomdownloadsmacosxproductivity_toolsbbedithtml
httpwwwbarebonescomproductsbbeditindexshtml
333 emacsxemacs
pre-installed
334 Photran
wwwphotranorg
335 Smultron
httpsmultronsourceforgenet
336 TextMate
httpmacromatescom
337 TextWrangler
httpwwwapplecomdownloadsmacosxproductivity_toolstextwranglerhtml
httpwwwbarebonescomproductstextwranglerindexshtml
338 Vim
Pre-installed
33 APPLE OS X 31
339 Xcode
httpdeveloperapplecom
3310 xemacsemacs
pre-installed
32 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
Chapter 4
Commercial Courses
bull Version 14 August 2012 Updated several entries
bull Version 13 November 2011 Notified by Shaun Forth at Cranfield of theirchanges Also added the HECToR entries
bull Version 12 August 2010
bull Version 11 September 2008
bull Version 10 January 2006
41 Ian Chivers and Jane Sleightholme
Ian Chivers and Jane Sleightholme are available to do tailored on site courses Coursesinclude
bull Introduction to Modern Programming in Fortran
bull Advanced Features of Modern Fortran
See
httpwwwfortranpluscouk
42 Cranfield University
Cranfield University offers four Fortran programming courses
bull Introduction to Programming in Fortran 95 and 2003 (3 days)
bull Advanced Programming in Fortran 95 and 2003 (3 days)
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
6 CONTENTS
681 Documentation 45
682 Worked examples 45
69 winteracter 45
691 Documentation 45
692 Worked examples 45
610 Microsoft Windows graphics programming 45
6101 LaheyFujitsu 46
6102 Salford Software 46
7 Parallel Programming 47
71 Introduction 47
711 Books 48
72 Automatic 48
73 Coarray Fortran 49
74 HPF 49
75 MPI 49
751 Books 49
752 Courses 50
753 Requirements 50
76 OpenMP 50
761 Books 51
762 Courses 51
763 Resources 51
764 Requirements 52
77 Posix Threads 52
78 Notes on the table below 52
79 Table of compilers and supported parallel options 54
710 Parallelisation Tools 55
7101 Crescent Bay Software 55
7102 Parallel Software Products 56
8 Fortran Software Tools 57
81 Refactoring 57
82 Convert 57
83 Forcheck 58
84 FOR STRUCT 58
85 FOR STUDY 58
86 Fortran90-lint 58
87 NAGWare Fortran Tools 58
88 photran 58
89 plusFORT 59
810 VAST77to90 59
CONTENTS 7
9 Fortran Electronic Lists 6191 comp-fortran-90 6192 complangfortran 6193 LinkedIn 6294 Compiler specific 62
941 Absoft 62942 Apogee 63943 Compaq 63944 Cray 63945 Fortran Company 63946 Fujitsu 63947 Gnu Fortran 95 63948 G95 63949 Hewlett Packard 639410 IBM 639411 Intel 649412 Lahey Fujitsu 649413 NAG 649414 NA Software 649415 NEC 649416 Pathscale 649417 PGI 649418 Salford Software 649419 SGI 659420 SUN 65
10 Fortran Standard Bodies 67101 Introduction 67102 WG5 67103 PL223 67
11 Other Web Links 71111 Fortran History 71
1111 A brief history of FORTRAN-Fortran 711112 Computer Languages History (preview) 711113 Computer Languages History 711114 Fortran A few historical details 711115 Open Directory - Fortran Tutorials Fortran 90 and 95 711116 Open Directory - Fortran 711117 The Fortran (not the foresight) saga 72
112 Computer Arithmetic 721121 What every computer scientist should know about floating point arithmetic 721122 IEEE 754r - Wikipedia the free encyclopedia 721123 IEEE 754 Standard for Binary Floating-Point Arithmetic 721124 IEEE Standard 754 Floating-Point 72
8 CONTENTS
1125 William Kahan 721126 IEEE 754 floating-point test software 721127 Interval FAQ from Alejandro Casares ndash What machines support IEEE 754 721128 Decimal Arithmetic - FAQ 1 721129 General Decimal Arithmetic 72
113 Programming 731131 Calling FORTAN and C from Java 731132 CS 267 Applications of Parallel Computers 731133 Hillsidenet - Design Patterns Book - DP Book 731134 Hillsidenet - Design Patterns Book - Source 731135 Home page of Les Hatton 731136 Parallel Programming - Basic Theory For The Unwary 731137 Putting a Java Interface on your C C++ or Fortran Code 731138 Teach Yourself Programming in Ten Years 73
Chapter 1
Books
bull Version 17 August 2012 Added Section 11 Chivers Added Section 11 Mar-cus
bull Version 16 January 2012 Added Section 15 Chivers
bull Version 15 October 2011 Added Section 11 Chivers Added Section 11 Cler-man Added Section 11 Gnu Fortran Added Section 11 Rouson Added Section12 Lakshmivarahan
bull Version 14 July 2010 Added Section 11 Brainerd Added Section 11 McCor-mmack Added Section 11 Ray Added Section 12 Rajaram Added Section13 Barlow et al Added Section 14 Chandra et al Added Section 14 Chapmanet al
bull Version 13 June 2009 Removed invalid web address in Morgan and Schonfelderentry Corrected spelling in Chinese entry
bull Version 12 September 2008 Added Section 11 Adams et al Added Section110 Ciaburro
bull Version 11 September 2007 Added Section 11 Chapman Added Section 12Lemmon
11 Fortran 2003 and 2008 - English
bull Adams JC Brainerd WS Hendrickson RA Maine RE Martin JTSmith BT The Fortran 2003 Handbook The Complete Syntax Features andProcedures 2008 Springer Verlag ISBN 978-1-84628-378-9
bull Brainerd WS Guide to Fortran 2003 Programming 2009 Springer VerlagISBN 978-1-84882-542-0
bull Chapman SJ Fortran 952003 For Scientists and Engineers 2007 McGraw-Hill ISBN 978-0073191577 ISBN 0073191574
10 CHAPTER 1 BOOKS
bull Chivers ID Sleightholme J Introduction to Programming with Fortran Withcoverage of Fortran 90 95 2003 2008 and 77 2012 Springer Verlag ISBN-100857292323 ISBN-13 978-0857292322 Second Edition
bull Chivers ID Sleightholme J Introduction to Programming with Fortran Withcoverage of Fortran 90 95 2003 and 77 2006 Springer Verlag ISBN 1-84628-053-2 First Edition
bull Clerman NS Spector W Modern Fortran Style and Usage Cambridge Uni-versity Press 2011 ISBN-10 052173052X ISBN-13 978-0521730525
bull Gnu Fortran Team Using Gnu Fortran Manual For Gcc Version 433 Cre-ateSpace ISBN-10 1441412662 ISBN-13 978-1441412669 2009
bull McCormack D Scientific Software Development with Fortran 2009 ISBN 978-1-4452-5445-6
bull Metcalf M Reid J and Cohen M Fortran 952003 Explained 2004 OxfordUniversity Press ISBN 0-19-852693-8 ISBN 0-19-852692-X
bull Marcus A Modern Fortran in Practice 2012 Cambridge University PressISBN-10 1107017904 ISBN-13 978-1107017900
bull Ray S A Textbook on Fortran 2003 2009 Alpha Science International ISBN978-1-84265-479-8
bull Rouson D Xia J Xu X Scientific Software Design The Object-OrientedWay Cambridge University Press 2011 ISBN-10 0521888131 ISBN-13 978-0521888134
12 Fortran 95 - English
bull Adams JC Brainerd WS Martin JT Smith BT and Wagener JL Fortran95 Handbook 1997 MIT ISBN 0-262-51096-0
bull Adams JC Brainerd WS Martin JTand Smith BT Fortran Top 95 NinetyFive Key Features of Fortran 95 $10 The book is only available in PDF formfrom the Fortran Store httpwwwfortrancom
bull Akin E Object Oriented Programming via Fortran 9095 2003 CambridgeUniversity Press ISBN 0-521-52408-3
bull Chapman S J Fortran 9095 for Scientists and Engineers 2004 McGraw HillISBN 0-07-282575-8
bull Chapman SJ Introduction to Fortran 9095 1997 McGraw-Hill 1997 ISBN0-07-011969-4
13 FORTRAN 90 - ENGLISH 11
bull Chivers ID Sleightholme J Introducing Fortran 95 2000 Springer VerlagISBN 185233276X
bull Counihan M Fortran 95 1997 UCL ISBN 185728367-8
bull Etzel M Dickinson K Digital Visual Fortran 90 Programmerrsquos Guide 1999Digital Press ISBN 1-55558-218-4
bull Gehrke Fortran 95 Language Guide 1996 Springer ISBN 3-540-76062-8
bull Lakshmivarahan S Sudarshan K Dhall Programming in Fortran 9095 Pub-lisher Pearson Custom Publishing (2002) ASIN B000XM3WZ0
bull Lawrence N Compaq Visual Fortran A Guide to Creating Windows Applica-tions 2001 Digital Press ISBN 1-55558-249-4
bull Lemmon DRSchafer JL Developing Statistical Software in Fortran 95 2005Springer ISBN-10 0387238174 ISBN-13 978-0387238173
bull Metcalf M Reid J Fortran 9095 Explained 1999 Oxford University PressISBN 0-19-850558-2
bull Morgan amp Schonfelder Programming in Fortran 9095 available in AcrobatPDF format from httpwwwfortrancom
bull Rajaram V Computer Programming in Fortran 90 and 95 2004 Prentice HallISBN 978-8120311817
bull Vowels R Introduction to Fortran 9095 Algorithms and Structured Pro-gramming Part 1 Introduction to Fortran 90 Part 2 Algorithms and Fortran90 ISBN 0-9596384-8-2
13 Fortran 90 - English
bull Barlow RJ Barnett AR Computing for Scientists Principles of Program-ming with Fortran 90 and C++ 1998 Wiley Blackwell ISBN 978-0471955962
bull Adams Brainerd Martin Smith and Wagener Fortran 90 Handbook 1992McGraw Hill ISBN 0-07-000406-4
bull Brainerd Goldberg and Adams Programmers Guide to Fortran 90 1996Springer ISBN 0-387-94570-9
bull Brainerd Goldberg and Adams Programmers Guide to Fortran 90 1994 Uni-comp ISBN 0-07-000248-7
bull Brooks Problem solving with Fortran 90 for scientists and engineers 1997Springer ISBN 0-387-98229-9
12 CHAPTER 1 BOOKS
bull Chivers ID Sleightholme J Introducing Fortran 90 1995 Springer ISBN3-540-19940-3
bull Ellis Philips Lahey Fortran 90 Programming 1994 Addison Wesley ISBN0-201-54446-6
bull Etter Fortran 90 for Engineers 1995 BenjaminCummings ISBN 0-201544-46-6
bull Gehrke Fortran 90 Language Guide 1996 Springer ISBN 3-540-19926-8
bull Hahn DB Fortran 90 for Scientists and Engineers 1994 Edward Arnold ISBN0-340-60034-9
bull Huddleston Fortran 90 1996 Exchange Publ Div ISBN 0-945261-07-1
bull Kerrigan JF Migrating to Fortran 90 1993 OrsquoReilly ISBN 1-56592-049-X
bull Meissner LP Fortran 90 1995 PWS Kent ISBN 0-534-93372-6
bull Metcalf M Reid J Fortran 90 Explained 1990 Oxford University Press ISBN0-19-853772-7
bull Morgan amp Schonfelder Programming in Fortran 90 1993 Alfe4d Waller ISBN1-872474-06-3
bull Nyhoff Leestma Fortran 90 for Engineers and Scientists1 1996 PrenticeHall ISBN 0-13-519729-5
bull Nyhoff Leestma An introduction to Fortran 90 for Engineers and Scientists1996 Prentice Hall ISBN 0-13-505215-7
bull Redwine Upgrading to Fortran 90 1995 Springer-Verlag ISBN 0-387-97995-6
bull Schick Silverman Fortran 90 and Engineering Computation 1994 JohnWiley ISBN 0-471-58512-2
bull Smith IM Programming in Fortran 90 Wiley ISBN 0471-94185-9
bull Wagener Fortran 90 Concise Reference 1998 Absoft ISBN 0-9670066-0-0
14 English books on related topics
bull Advanced Scientific Computing - Wille Wiley 1995 ISBN 0471-95383-0
bull Atlas for Computing Mathematical Functions in Fortran 90 and Mathematica- Thompson Wiley 1997 0-471-18171-4
15 CHINESE 13
bull Contemporary Computing for Technical Engineers and Scientists using Fortran90 and spreadsheets - Forsythe PWS 1997 0-534-93139-1
bull Numerical Recipes in Fortran 90 The Art of Parallel Scientific ComputingVolume 2 of Fortran Numerical Recipes - Press Teukolsky Vetterling and Flan-nery Cambridge U Press ISBN 0-521-57439-0 1996 Code can be downloaded(purchased) from httpwwwnrcom A CDROM is also available (see Website)
15 Chinese
bull Introduction to Programming with Fortran with coverage of Fortran 90 952003 and 77 Ian Chivers and Jane Sleightholme Posts and Telecom Pressand Springer-Verlag London 2009 ISBN 978-7-115-21227-6 (A translation ofIntroduction to Programming in Fortran)
bull Programming Language Fortran 90 - He Xingui Xu Zuyuan Wu Qingbao andChen Ming yuan China Railway Publishing House Beijing ISBN 7-113-01788-6TP187 1994
bull Fortran 90 - Walter S Brainerd Charles H Goldberg Jeanne C Adams CHEPBeijing and Springer Berlin 2000 ISBN 7-04-007937-2 (a translation of Pro-grammerrsquos Guide to Fortran 90)
16 Dutch
bull Fortran 90 - WS Brainerd ChH Goldberg and JC Adams translated byJM den Haan Academic Service 1991 ISBN 90 6233 722 8
17 Finnish
bull Fortran 9095 - Juha Haataja Jussi Rahola and Juha Ruokolainen Center forScientific Computing (Finland) 2001 339 pages 3rd edition ISBN 952-9821-60-3 WWW version httpwwwcscfioppaatf95
18 French
bull Fortran 90 Approche par la Pratique - P Lignelet Srie Informatique ditionsMenton 1993 ISBN 2-909615-01-4
bull Fortran 90 Les concepts fondamentaux the translation of Fortran 90 Ex-plained M Metcalf J Reid translated by M Caillat and B Pichon AFNOR1993 Paris ISBN 2-12-486513-7
14 CHAPTER 1 BOOKS
bull Fortran 90 Initiation partir du Fortran 77 - Aberti Srie Informatique ditionsMenton 1992 ISBN 2-909615-00-6
bull Les spcificits du Fortran 90 M Dubesset et J Vignes ditions Technip 1993 ISBN 2-7108-0652-5
bull Manuel complet du langage Fortran 90 et guide dapplication P Lignelet SrieInformatique ditions 1995 ISBN 2-909615-02-2
bull Manuel Complet du Langage Fortran 90 et Fortran 95 Calcul intensif et GnieLogiciel P Lignelet Masson ditions Paris 1996 ISBN 2-225-85229-4
bull Programmer en Fortran 90 C Delannoy Eyrolles 1992 ISBN 2-212-08723-3
bull Traitement des donnes numriques avec Fortran 90 M Olagnon Masson ditions1996 ISBN 2-225-85259-6
bull Structures des donnes (et leurs algorithmes) en Fortran 9095 P LigneletMasson ditions Paris ISBN 2-225-85373-8
19 German
bull Fortran 90 Lehrbuch D Rabenstein Hanser 1995 ISBN 3-446-18235-7
bull Die Programmiersprache F W Gehrke Springer-Verlag ISBN 3-540-63376-6
bull Fortran 90 - BWojcieszynski and RWojcieszynski Addison-Wesley 1993 ISBN3-89319-600-5
bull Fortran 90 eine informelle Einfhrung M Heisterkamp BI-Wissenschaftsverlag1991 ISBN 3-411-15321-0
bull Fortran 90 Kurs technisch orientiert - G Schmitt Oldenbourg 1996 ISBN3-486-23896-5
bull Fortran 90 Lehr- und Arbeitsbuch fr das erfolgreiche Programmieren WSBrainerd CH Goldberg and JC Adams translated by Peter Thomas andKlaus G Paul R Olbenbourg Verlag Muenchen 1994 ISBN 3-486-22102-7
bull Fortran 90 Lehr- und Handbuch - T Michel BI-Wissenschaftsverlag 1994
bull Fortran 90 Referenz-Handbuch der neue Fortran-Standard W Gehrke CarlHansen Verlag 1991 ISBN3-446-16321-2
bull Programmierung in Fortran 90 - Schobert Oldenburg 1991
bull Programmierung mit Fortran 90 - Bumer Vieweg Braunschweig 1997 ISBN3-528-05208-2
110 ITALIAN 15
bull Programmieren in Fortran - Erasmus Langer Springer-Verlag Wien New York1993 ISBN 3-211-82446-4 0-387-82446-4
bull Software Entwicklung in Fortran 90 - berhuber and Meditz Springer Verlag1993 ISBN 0-387-82450-2
110 Italian
bull Some resources in Italian including a manual are at
httpspacetinitcomputergciabu
bull Programmare con Fortran G Ciaburro FAG 2008 ISBN 9788882336882
wwwciaburroitf90librohtm
httpwwwibsitcode9788882336882ciaburro-giuseppeprogrammare-con-fortranhtml
111 Japanese
bull Fortran 90 Explained - Metcalf and Reid translated by H Nisimura H WadaK Nishimura M Takata Kyoritsu Shuppan Co Ltd 1993 ISSN 0385-6984
112 Russian
bull An Explanation of the Fortran 90 Programming Language (translation of For-tran 90 Explained - Metcalf and Reid) translated P Gorbounov Mir Moscow1995 ISBN 5-03-001426-8 Available also from PetrGorbounovcernch
bull FORTRAN 77 to Fortran 90 Tutorial - Einarsson and Shokin Russian Academyof Sciences Novosibirsk 1995 ISBN 5-85826-013-6
113 Swedish
bull Fortran 90 - en introduktion - Blom Studentlitteratur Lund 1994 ISBN 91-44-47881-X
16 CHAPTER 1 BOOKS
Chapter 2
Compilers
bull Version 110 August 2012 Updated Nag entry 53 release supports openMPAlso updated product availability entry
bull Version 19 November 2010 Updated Absoft in response to an email fromWood Lotz
bull Version 18 July 2010 Updated Sun to reflect takeover by Oracle UpdatedSalford to reflect Silverfrost rebranding
bull Version 17 June 2009 Updated the Cray and Intel entries Added a newsection on compilers that are no longer available This has involved moving theentries on Apogee Compaq and NA Software into this section For historicalcompleteness wersquove also added an entry for EPC to this section
bull Version 16 September 2008 Updated the NAG entry with more details of theFortran Builder IDE
bull Version 15 September 2007 Updated Absoft Entry Compaq Fortran Com-pany Fujitsu Gnu Fortran 95 G95 IBM Intel LaheyFujitsu NAG NASoftware NEC Pathscale PGI SalfordSilverfrost SGI Sun
21 Introduction
The following is a list of companies and organisations that provide Fortran compilersthat conform to the Fortran 90 95 2003 and 2008 standards Fortran Forum hasa more or less standing table on compilers that support features from the 2003 and2008 standards The gfortran g95 and Sun compilers are free for Linux and gfortranand g95 are free for Windows
22 Absoft
httpwwwabsoftcom
18 CHAPTER 2 COMPILERS
Absoft Pro Fortran is a complete tool suite designed to automate building par-allel code on Linux Windows or Mac OSIntel Absoft Rolls are also available forx64Linux Compilers are full F95 include all popular legacy extensions many fromF2003 and are fully link and debug compatible with the host (Linux Microsoft MacOS) tool chain Compilers offer automatic parallelization vectorization OpenMP 30GPU support and Absoft application performance is consistently rated 1 on AMDand Intel systems by third party benchmarks IDE includes SMP graphical analyzerFx3 graphical multi-language debugger programmers editor several Fortran specificfeatures OpenMP and MPI controls math libraries VAXUnix libraries and 2D3Dgraphics Same look feel and functionality on all systems Nothing else to buy orlearn IMSL numerical libraries are a bundle option on all platforms
23 Cray
httpwwwcraycom
Cray has a fully optimizing Fortran 2003 compiler available for the Cray XT seriessystems This compiler also supports OpenMP and several Fortran 2008 featuresincluding submodules and coarrays
Cray has a fully-optimizing Fortran 95 compiler available for the Cray PVP (J90SV1) T3E and X1 systems The PVP compiler supports automatic parallization andOpenMP The T3E compiler supports coarrays The X1 compiler supports automaticstreaming OpenMP coarrays and many Fortran 2003 featuresrdquo
24 Fortran Company
httpwwwfortrancom
The Fortran Company offers F the subset language for Unix and Windows somein highly optimizing versions All of the full professional versions of the F compilerare available free by downloading them from the F anonymous ftp directory
The Fortran Tools include a Fortran 95 compiler with a graphical user interfacethat runs on Linux or Windows on a CD The CD also includes several Fortran booksin PDF format and many tools such as Matran a matrix computation library thatuses the highly tuned Atlas libraries a plotting package and a library of routines tocreate GUIs for your Fortran application programs
25 Fujitsu
httpwwwfujitsucomglobal
26 GNU FORTRAN 95 19
Fortran 95 (Solaris) A powerful updated development system used for FORTRANproductive applications Current version Sun Studio 9
The ISO Fortran 95 Standard is fully supported additionally there are enhance-ments for Fortran77 such as pointersstructures binaryoctalhexadecimal constantsetc High optimization includes automatic parallelization and OpenMP support AFortran runtime system optimized for UltraSPARC is now also included in the pack-age The development environment consists of the following components
Workbench An integral development environment for the CC++ and Fortrancompilers for compiler control program execution debugging performance analysiscoverage etc with a Motif-based graphical user interface (GUI)
Visual Analyzer A development and migration tool for CC++ and Fortranprograms The enclosed Source Analyzer allows the static program structure and theglobal data relations to be visualized It contains a class browser cross referencesand a calling graph viewer
Parallel Analyser Consists of an integrated development environment for theOpenMP programming It contains a manager a debugger and a profiler
Fujitsu also has a Fortran 95 compiler for Linux and a highly optimized nativeFortran 95 compiler FortranVPP and HPF for its VPP supercomputers
26 Gnu Fortran 95
httpgccgnuorgwikiGFortran
httpgccgnuorgfortran
Gfortran is the name of the GNU Fortran project developing a free Fortran 952003compiler for GCC the GNU Compiler Collection The gfortran development effortuses an open development environment in order to attract a larger team of devel-opers and to ensure that gfortran can work on multiple architectures and diverseenvironments The GNU Fortran 95 project or gfortran is developing a Fortran 95compiler front end as well as runtime libraries for GCC the GNU Compiler Col-lection Gfortran development is a part of the GNU project aiming to bring freenumber crunching to all GNU system variants The gfortran development effort usesan open development environment in order to attract a larger team of developers andto ensure that gfortran can work on multiple architectures and diverse environmentsIn particular the project wishes to reach the users of the Fortran 95 language beit in the scientific community in education or in a commercial environment Todaytruly free Fortran 90 or Fortran 95 compilers do not exist We are trying to makeone available to the Fortran community
27 g95
httpwwwg95org
20 CHAPTER 2 COMPILERS
g95 is a stable production Fortran 95 compiler available for multiple cpu architec-tures and operating systems Innovations and optimizations continue to be workedon Parts of the F2003 standard have been implemented in g95
28 Hewlett Packard
The web address that describes all of the compilers and supported hardware andoperating systems is
httph21007www2hpcomdspptechtech_TechSoftwareDetailPage_IDX11703623500h
HPrsquos Fortran products are available for multiple platforms Windows Tru64 UNIXAlphaServer systems Linux AlphaServer systems and HP OpenVMS (Alpha VAX)
Visual Fortran for WindowsFortran for Linux AlphaFortran for Tru64 UNIX AlphaFortran for HP OpenVMS AlphaFortran for HP OpenVMS IntegrityFortran for HP OpenVMS VAXFortran for HP-UXThe Windows product Compaq Visual Fortran includes the Microsoft Developer
Studio IDE which can be shared with Microsoft Visual C++ Parallel execution usingOpenMP-directed decomposition or HPF is included on the Tru64 UNIX platformOn Windows NT SMP parallel execution using directed decomposition is availablethrough Visual Compaq Fortran for Linux Alpha Systems is available as a freedownload under a Technology Enthusiast license for non-commercial use All Com-paq Fortran 95 products include the Compaq Extended Math Library of optimizedscientific subroutines and the allocatable array extensions
29 IBM
httpwww-306ibmcomsoftwareawdtoolsfortran
httpwww-306ibmcomsoftwareawdtoolsfortranxlfortranfeaturesf2003html
XL Fortran Enterprise Edition for AIX XL Fortran Enterprise Edition for AIX pro-vides industry-leading code optimization and tuning features a full implementationof the OpenMP API Version 25 Symmetric Multiprocessing (SMP) APIs directmanipulation of the floating-point status and control register 64-bit enablementasynchronous IO debug memory routines and many other features
XL Fortran Advanced Edition for Blue Gene XL Fortran Advanced Edition forBlue Gene is the latest addition to our XL Fortran compiler family It expands our
210 INTEL 21
proven XL Fortarn compiler technology to exploit the capabilities of the PowerPC440 and 440d processors used in IBM Blue GeneL supercomputers
XL Fortran Advanced Edition for Linux XL Fortran Advanced Edition for Linuxsupports your choice of RHEL4 SLES9 and Y-HPC Linux distributions Advancedoptimization technology and VMX support help you create high-performance 32-bitand 64-bit applications that run efficiently on a variety of processor architecturesincluding IBMrsquos newest POWER5+ and PowerPC 970 processors and Apple PowerMac G5 and Xserve G5 systems
VS FORTRAN VS FORTRAN contains features geared to help Fortran program-mers develop applications more easily and efficiently while using the full power ofIBMrsquos large systems
The second web link has details of Fortran 2003 support
210 Intel
httpsoftwareintelcomen-usintel-compilers
Intel offers optimizing Fortran compilers for the IA-32 x64 and IA-64 (Intel Ita-nium) architectures running the Linux Mac OS X (IA-32 and x64) or Windows op-erating systems Intel Fortran is fully compliant with Fortran 95 and supports mostof Fortran 2003 as well as many popular extensions The compiler offers automaticparallelization and vectorization and supports OpenMP 30 as well as generatingoptimized code for the latest Intel processors and compatible non-Intel processors
On all platforms the Intel Fortran compiler includes the Intel Math Kernel Li-brary a library of highly optimized extensively threaded math routines for scienceengineering and financial applications The IMSL Fortran Numeric Library 60 fromVisual Numerics is an option on Windows
On Windows the compiler integrates into Microsoft Visual Studio 2003 2005 or2008 and includes a self-sufficient Fortran development environment based on Mi-crosoft Visual Studio 2008 The Windows compiler also provides mechanisms tointerface Fortran code with the Microsoft COM and NET environments Academicand student pricing is available
211 LaheyFujitsu
httpwwwlaheycom
LaheyFujitsu Fortran 95 is produced by the LaheyFujitsu alliance LF95 is avail-able in three Windows configurations Express Standard and PRO and two Linuxconfigurations Express and PRO All configurations feature VAX IBM and POSIXlanguage extensions allocatable array enhancements etc The Windows and LinuxExpress version is command line only and features the compiler linker and debug-ger PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-
22 CHAPTER 2 COMPILERS
TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creatingtrue Windows programs with Fortran and a Coverage Analysis Tool that detects un-executed code and performs range of operation checking The PRO is compatible withVisual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 Math Libraryand Visual Analyzer (see below) The PRO Linux version offers auto-parallelizationOpenMP compatibility thread-safe BLAS and LAPACK WiSK AUTOMAKE andFujitsus SSL2 All products come with free technical support and are available at Also available is a subset compiler elf90
It would appear that the Windows version is no longer under active developmentThe last update was dated December 2004
212 NAG
httpwwwnagcouknagwareasp
The NAG Fortran Compiler derived from the worldrsquos first Fortran 90 Compilerfrom NAG is robust highly tested and valued by developers all over the globe forits checking capabilities and detailed error reporting Available on a wide range ofUnix and Windows platforms it accepts fixed or free format Fortran 95 input andmany common Fortran 77 extensions are allowed A large number of Fortran 2003language features are now available HPF code is also compiled and checked thoughonly single processor output is generated The 53 release supports a good workingsubset of OpenMP 3
The following versions are availableApple Intel Mac64 Release 53 gcc 42HP PA-RISC 11 Release 51 HP ANSI CIBM Power AIX Release 51 AIX XL C 60IBM Z9 Linux Release 51 gcc 346IBM Z9 Open Edition Release 52 IBM CLinux x86-32 Release 53 gcc 322Linux64 Release 53 gcc 412Sun SPARC Solaris Release 52 gcc 342Sun SPARC Solaris Release 52 Sun C v 55x86 and x86-64 Windows Release 53An integrated Fortran IDE is also available for Windows
httpwwwnagcouknagwarenpfortranbuilderasp
213 NEC
httpwwwneccom
214 ORACLE - ORIGINALLY SUN 23
NEC has a native optimizing Fortran 95 compiler FORTRAN90SX with anautomatic vectorization and parallelization capability for its supercomputer SX se-ries HPFSX V2 provides functions conforming to the specification of HPF11 andHPF20 and can be used with vector processing functions in SX Fortran and withparallel processing functions using microtasking
214 Oracle - originally Sun
httpwwworaclecomussunindexhtm
httpwwwsuncom
httpdeveloperssuncomsunstudio
httpdeveloperssuncomsunstudiodownloadsexpress
Sun Studio software delivers high-performance optimizing C C++ and Fortrancompilers for the Solaris OS on SPARC and both Solaris and Linux on x86x64platforms including the latest multi-core systems
Whatrsquos in Sun StudioAll Compilers - Specify 32-bit or 64-bit Address Model Auto-parallelization of
single-threaded code Flags Static data-race and deadlock-detection for x86 Mathand Visual Instruction Set Support in SPARC64 VI Option for Floating-Point Fusedor Multiply-Add Instructions Option for Thread Analyzer support Linux SupportOpenMP and OpenMPI suport Support for the directives clauses and attributes
Fortran Compiler - Interval arithmetic support on Solaris Intel platform Fastercompilation time for source files UNSIGNED arguments Backward compatibilitywith f77
C Compiler - More options Auto-parallelization of single-threaded code GNU Ccompatibility
C++ Compiler - More options ABI compatibility Compiler flags to optimize formulticore architectures Static linking the standard C++ runtime library
215 PathScale
httpwwwpathscalecomproductspathscale_compiler_suite
PathScalersquos goal is to make it easier to develop and deploy 64-bit applications intoclustered environments PathScale has developed the industryrsquos highest-performanceC C++ and Fortran 9X compilers for 64-bit Linux-based computer systems ThePathScale Compiler Suite shares its heritage with the well-known and mature SGIcompiler suite The PathScale Compiler Suite has been optimized for both the
24 CHAPTER 2 COMPILERS
AMD64 and EM64T architectures and has the worldrsquos most sophisticated optimiza-tion infrastructure
Unlike other compilers the PathScale Compiler Suite provides superior perfor-mance across both floating-point and integer-intensive applications Application de-velopers targeting 64-bit Linux servers will see immediate performance benefits fromcompiling with the PathScale compilers
The PathScale Compiler Suite includesC C++ and Fortran 779095 compilers Industry leading optimizations Com-
plete support for OpenMP 20 (including WORKSHARE) Complete support for 64-bit and 32-bit x86 compilation Code generation for AMD64 ABI AMD Opteronand Intel EM64T PathScale optimized AMD Core Math Library (available for down-load) Advanced serial debugger PathDB Compatible with GNUgcc tool chain andpopular Third Party debuggers Supported on SUSE RedHat and Fedora Linux Thecurrently shipping version of the PathScale Compiler Suite is
216 PGI
httpwwwpgroupcom
High-performance Optimizing Parallel Compilers For multi-core 64-bit x64 and 32-bit x86 processor-based Linux Mac OS X and Windows workstations servers andclusters PGI Workstation includes a single seat license for PGIrsquos suite of compilersand tools Also available with a multi-user network floating license (PGI Server)The PGI CDK Cluster Development Kit includes all the software for building andprogramming a turn-key Linux cluster PGI Visual Fortran fully integrates PGIparallel Fortran into Microsoft Windows using Microsoft Visual Studio 2005
217 Silverfrost nee Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
Salford Software markets FTN95 a Fortran 95 compiler for Win32 running onWindows 95NT2000XP PCs It has announced its Fortran 95 compiler for Mi-crosoft NET (FTN95 for NET) This compiler will produce fast executables fromsource files that may be any combination of Fortran 77 Fortran 90 and Fortran 95FTN95 for NET including integrated Help and Debugger is supplied bundled withFTN95 for Win32 and optionally with Microsoft Visual Studio for NET A low-costfully-featured personal edition is also available
218 SGI
httpwwwsgicomproductssoftwareirixtoolsfortranhtml
219 SUN - SEE ORACLE 25
MIPSpro Fortran Compilers This 64-bit ANSI Fortran 77 compiler is ideal forsystems running IRIX 6x It is compatible with VAXVMS Fortran and supportsCray extensions The 74 version of the MIPSpro Fortran 77 and Fortran 90 compilersnow support the OpenMP 20 standard Among the new features introduced in theOpenMP 20 specification are
WORKSHARE directive COPYPRIVATE clause for the broadcast of sequentialreads Portable timing routines MIPSpro Fortran 90 Compiler A 64 bit ANSI Fortran90 compiler with additional support for user-defined multiprocessing directives forsystems running IRIX 6x Compatible with VAXVMS Fortran and supports Crayextensions With the release of version 74 Fortran 90 specific support under theOpenMP 20 standard are
Parallelization of F90 array syntax via the WORKSHARE directive Privatizationof deferred shape and assumed shape objects The full Fortran 20 specification canobtained from the OpenMP Web site at httpwwwopenmporg
For more information read about the MIPSpro compilers
219 Sun - see Oracle
220 No longer available
2201 Apogee
httpwwwapogeecom
Features of the FORTRAN 7790 CompilerNo longer available Originally available for the SolarisSPARC platforms the
compiler conforms to Sunrsquos Solaris ABI and produces assembler code files acceptableto Sunrsquos Solaris assembler When used in the FORTRAN 77 compilation modethe compiler is compliant with the MIL-STD 1753 FORTRAN 77 and accepts mostFORTRAN 77 extensions of Sun IBM and other F77 compilers The supportedF77 extensions include structures length qualification on types additional data andconstant types initializations in type statements additional statements (END DODO WHILE POINTER VOLATILE etc) computations with aggregates namelist-directed IOs and debugging statements
When used in the Fortran 90 mode the compiler is compliant with the ANSIISOFortran 90 standard
2202 Compaq
This compiler is no longer under development This ceased when Intel bought outthe technology from HP Still widely used with legacy software Copies for sale canbe found on Ebay and similar vites
26 CHAPTER 2 COMPILERS
2203 EPC
Edinburgh Portable Compilers was an early vendor to produce a Fortran 90 compila-tion system A report by Adam Marshall from Liverpool University has a comparisionof several early Fortran 90 compilers It can be found at the address below
httpwwwlivacukHPCFortranCompilerStudyHTMLFortranCompilerStudyHTMLhtml
2204 NA Software
httpwwwnasoftwarecoukhomehtml
No longer available
Chapter 3
Fortran aware editors and IDEs
bull Version 15 October 2011 Updated photran entry
bull Version 14 July 2010 Added SunStudio Express entry
bull Version 131 April 2006 Added Windows Zeus entry
31 Windows
311 Absoft Editor (ae)
httpwwwabsoftcom
312 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
313 compaq visual fortran 6x
Nolongeravailable
314 editeur
wwwstudiowarecom
315 emacsxemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
316 emacsxemacs - cygwin components
httpwwwcygwincom
28 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
317 gvimvim - stand alone
httpwwwvimorg
318 gvimvim - cygwin component
httpwwwcygwincom
319 jed wjed (Windows)
httpwwwjedsoftorgjed
3110 lahey ed
httpwwwlaheycom
3111 microsoft visual studio 6
No longer available
3112 Microsoft Visual StudioNET
There are a number of vendors that have provided integration with Microsoft VisualStudio NET These include
Intel Visual Fortranwwwintelcom
LaheyFujitsu Fortranwwwlaheycom
Silverfrost Salford FTN95httpwwwsilverfrostcom11ftn95overviewasp
3113 nedit - cygwin
httpwwwneditorg
3114 ntemacs
httpwwwgnuorgsoftwareemacswindowsntemacshtml
3115 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
32 LINUXUNIX 29
3116 salford plato
httpwwwsilverfrostcom11ftn95overviewasp
3117 Oracle Solaris Studio Express
httpdeveloperssuncomsunstudiodownloadsexpress
3118 UltraEdit
wwwultraeditcom
3119 xemacsemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
3120 xemacsemacs - cygwin components
httpwwwcygwincom
3121 Zeus ide
httpwwwzeuseditcomfortranhtml
32 LinuxUnix
321 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
322 emacsxemacs
httpwwwgnuorgsoftwareemacsemacshtml
323 jed xjed (Unix(all flavours)OpenVMS) wjed (Win-dows)
httpwwwjedsoftorgjed
324 nedit
httpwwwneditorg
30 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
325 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
33 Apple OS X
331 Absoft Editor
httpwwwabsoftcom
332 BBEdit
httpwwwapplecomdownloadsmacosxproductivity_toolsbbedithtml
httpwwwbarebonescomproductsbbeditindexshtml
333 emacsxemacs
pre-installed
334 Photran
wwwphotranorg
335 Smultron
httpsmultronsourceforgenet
336 TextMate
httpmacromatescom
337 TextWrangler
httpwwwapplecomdownloadsmacosxproductivity_toolstextwranglerhtml
httpwwwbarebonescomproductstextwranglerindexshtml
338 Vim
Pre-installed
33 APPLE OS X 31
339 Xcode
httpdeveloperapplecom
3310 xemacsemacs
pre-installed
32 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
Chapter 4
Commercial Courses
bull Version 14 August 2012 Updated several entries
bull Version 13 November 2011 Notified by Shaun Forth at Cranfield of theirchanges Also added the HECToR entries
bull Version 12 August 2010
bull Version 11 September 2008
bull Version 10 January 2006
41 Ian Chivers and Jane Sleightholme
Ian Chivers and Jane Sleightholme are available to do tailored on site courses Coursesinclude
bull Introduction to Modern Programming in Fortran
bull Advanced Features of Modern Fortran
See
httpwwwfortranpluscouk
42 Cranfield University
Cranfield University offers four Fortran programming courses
bull Introduction to Programming in Fortran 95 and 2003 (3 days)
bull Advanced Programming in Fortran 95 and 2003 (3 days)
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
CONTENTS 7
9 Fortran Electronic Lists 6191 comp-fortran-90 6192 complangfortran 6193 LinkedIn 6294 Compiler specific 62
941 Absoft 62942 Apogee 63943 Compaq 63944 Cray 63945 Fortran Company 63946 Fujitsu 63947 Gnu Fortran 95 63948 G95 63949 Hewlett Packard 639410 IBM 639411 Intel 649412 Lahey Fujitsu 649413 NAG 649414 NA Software 649415 NEC 649416 Pathscale 649417 PGI 649418 Salford Software 649419 SGI 659420 SUN 65
10 Fortran Standard Bodies 67101 Introduction 67102 WG5 67103 PL223 67
11 Other Web Links 71111 Fortran History 71
1111 A brief history of FORTRAN-Fortran 711112 Computer Languages History (preview) 711113 Computer Languages History 711114 Fortran A few historical details 711115 Open Directory - Fortran Tutorials Fortran 90 and 95 711116 Open Directory - Fortran 711117 The Fortran (not the foresight) saga 72
112 Computer Arithmetic 721121 What every computer scientist should know about floating point arithmetic 721122 IEEE 754r - Wikipedia the free encyclopedia 721123 IEEE 754 Standard for Binary Floating-Point Arithmetic 721124 IEEE Standard 754 Floating-Point 72
8 CONTENTS
1125 William Kahan 721126 IEEE 754 floating-point test software 721127 Interval FAQ from Alejandro Casares ndash What machines support IEEE 754 721128 Decimal Arithmetic - FAQ 1 721129 General Decimal Arithmetic 72
113 Programming 731131 Calling FORTAN and C from Java 731132 CS 267 Applications of Parallel Computers 731133 Hillsidenet - Design Patterns Book - DP Book 731134 Hillsidenet - Design Patterns Book - Source 731135 Home page of Les Hatton 731136 Parallel Programming - Basic Theory For The Unwary 731137 Putting a Java Interface on your C C++ or Fortran Code 731138 Teach Yourself Programming in Ten Years 73
Chapter 1
Books
bull Version 17 August 2012 Added Section 11 Chivers Added Section 11 Mar-cus
bull Version 16 January 2012 Added Section 15 Chivers
bull Version 15 October 2011 Added Section 11 Chivers Added Section 11 Cler-man Added Section 11 Gnu Fortran Added Section 11 Rouson Added Section12 Lakshmivarahan
bull Version 14 July 2010 Added Section 11 Brainerd Added Section 11 McCor-mmack Added Section 11 Ray Added Section 12 Rajaram Added Section13 Barlow et al Added Section 14 Chandra et al Added Section 14 Chapmanet al
bull Version 13 June 2009 Removed invalid web address in Morgan and Schonfelderentry Corrected spelling in Chinese entry
bull Version 12 September 2008 Added Section 11 Adams et al Added Section110 Ciaburro
bull Version 11 September 2007 Added Section 11 Chapman Added Section 12Lemmon
11 Fortran 2003 and 2008 - English
bull Adams JC Brainerd WS Hendrickson RA Maine RE Martin JTSmith BT The Fortran 2003 Handbook The Complete Syntax Features andProcedures 2008 Springer Verlag ISBN 978-1-84628-378-9
bull Brainerd WS Guide to Fortran 2003 Programming 2009 Springer VerlagISBN 978-1-84882-542-0
bull Chapman SJ Fortran 952003 For Scientists and Engineers 2007 McGraw-Hill ISBN 978-0073191577 ISBN 0073191574
10 CHAPTER 1 BOOKS
bull Chivers ID Sleightholme J Introduction to Programming with Fortran Withcoverage of Fortran 90 95 2003 2008 and 77 2012 Springer Verlag ISBN-100857292323 ISBN-13 978-0857292322 Second Edition
bull Chivers ID Sleightholme J Introduction to Programming with Fortran Withcoverage of Fortran 90 95 2003 and 77 2006 Springer Verlag ISBN 1-84628-053-2 First Edition
bull Clerman NS Spector W Modern Fortran Style and Usage Cambridge Uni-versity Press 2011 ISBN-10 052173052X ISBN-13 978-0521730525
bull Gnu Fortran Team Using Gnu Fortran Manual For Gcc Version 433 Cre-ateSpace ISBN-10 1441412662 ISBN-13 978-1441412669 2009
bull McCormack D Scientific Software Development with Fortran 2009 ISBN 978-1-4452-5445-6
bull Metcalf M Reid J and Cohen M Fortran 952003 Explained 2004 OxfordUniversity Press ISBN 0-19-852693-8 ISBN 0-19-852692-X
bull Marcus A Modern Fortran in Practice 2012 Cambridge University PressISBN-10 1107017904 ISBN-13 978-1107017900
bull Ray S A Textbook on Fortran 2003 2009 Alpha Science International ISBN978-1-84265-479-8
bull Rouson D Xia J Xu X Scientific Software Design The Object-OrientedWay Cambridge University Press 2011 ISBN-10 0521888131 ISBN-13 978-0521888134
12 Fortran 95 - English
bull Adams JC Brainerd WS Martin JT Smith BT and Wagener JL Fortran95 Handbook 1997 MIT ISBN 0-262-51096-0
bull Adams JC Brainerd WS Martin JTand Smith BT Fortran Top 95 NinetyFive Key Features of Fortran 95 $10 The book is only available in PDF formfrom the Fortran Store httpwwwfortrancom
bull Akin E Object Oriented Programming via Fortran 9095 2003 CambridgeUniversity Press ISBN 0-521-52408-3
bull Chapman S J Fortran 9095 for Scientists and Engineers 2004 McGraw HillISBN 0-07-282575-8
bull Chapman SJ Introduction to Fortran 9095 1997 McGraw-Hill 1997 ISBN0-07-011969-4
13 FORTRAN 90 - ENGLISH 11
bull Chivers ID Sleightholme J Introducing Fortran 95 2000 Springer VerlagISBN 185233276X
bull Counihan M Fortran 95 1997 UCL ISBN 185728367-8
bull Etzel M Dickinson K Digital Visual Fortran 90 Programmerrsquos Guide 1999Digital Press ISBN 1-55558-218-4
bull Gehrke Fortran 95 Language Guide 1996 Springer ISBN 3-540-76062-8
bull Lakshmivarahan S Sudarshan K Dhall Programming in Fortran 9095 Pub-lisher Pearson Custom Publishing (2002) ASIN B000XM3WZ0
bull Lawrence N Compaq Visual Fortran A Guide to Creating Windows Applica-tions 2001 Digital Press ISBN 1-55558-249-4
bull Lemmon DRSchafer JL Developing Statistical Software in Fortran 95 2005Springer ISBN-10 0387238174 ISBN-13 978-0387238173
bull Metcalf M Reid J Fortran 9095 Explained 1999 Oxford University PressISBN 0-19-850558-2
bull Morgan amp Schonfelder Programming in Fortran 9095 available in AcrobatPDF format from httpwwwfortrancom
bull Rajaram V Computer Programming in Fortran 90 and 95 2004 Prentice HallISBN 978-8120311817
bull Vowels R Introduction to Fortran 9095 Algorithms and Structured Pro-gramming Part 1 Introduction to Fortran 90 Part 2 Algorithms and Fortran90 ISBN 0-9596384-8-2
13 Fortran 90 - English
bull Barlow RJ Barnett AR Computing for Scientists Principles of Program-ming with Fortran 90 and C++ 1998 Wiley Blackwell ISBN 978-0471955962
bull Adams Brainerd Martin Smith and Wagener Fortran 90 Handbook 1992McGraw Hill ISBN 0-07-000406-4
bull Brainerd Goldberg and Adams Programmers Guide to Fortran 90 1996Springer ISBN 0-387-94570-9
bull Brainerd Goldberg and Adams Programmers Guide to Fortran 90 1994 Uni-comp ISBN 0-07-000248-7
bull Brooks Problem solving with Fortran 90 for scientists and engineers 1997Springer ISBN 0-387-98229-9
12 CHAPTER 1 BOOKS
bull Chivers ID Sleightholme J Introducing Fortran 90 1995 Springer ISBN3-540-19940-3
bull Ellis Philips Lahey Fortran 90 Programming 1994 Addison Wesley ISBN0-201-54446-6
bull Etter Fortran 90 for Engineers 1995 BenjaminCummings ISBN 0-201544-46-6
bull Gehrke Fortran 90 Language Guide 1996 Springer ISBN 3-540-19926-8
bull Hahn DB Fortran 90 for Scientists and Engineers 1994 Edward Arnold ISBN0-340-60034-9
bull Huddleston Fortran 90 1996 Exchange Publ Div ISBN 0-945261-07-1
bull Kerrigan JF Migrating to Fortran 90 1993 OrsquoReilly ISBN 1-56592-049-X
bull Meissner LP Fortran 90 1995 PWS Kent ISBN 0-534-93372-6
bull Metcalf M Reid J Fortran 90 Explained 1990 Oxford University Press ISBN0-19-853772-7
bull Morgan amp Schonfelder Programming in Fortran 90 1993 Alfe4d Waller ISBN1-872474-06-3
bull Nyhoff Leestma Fortran 90 for Engineers and Scientists1 1996 PrenticeHall ISBN 0-13-519729-5
bull Nyhoff Leestma An introduction to Fortran 90 for Engineers and Scientists1996 Prentice Hall ISBN 0-13-505215-7
bull Redwine Upgrading to Fortran 90 1995 Springer-Verlag ISBN 0-387-97995-6
bull Schick Silverman Fortran 90 and Engineering Computation 1994 JohnWiley ISBN 0-471-58512-2
bull Smith IM Programming in Fortran 90 Wiley ISBN 0471-94185-9
bull Wagener Fortran 90 Concise Reference 1998 Absoft ISBN 0-9670066-0-0
14 English books on related topics
bull Advanced Scientific Computing - Wille Wiley 1995 ISBN 0471-95383-0
bull Atlas for Computing Mathematical Functions in Fortran 90 and Mathematica- Thompson Wiley 1997 0-471-18171-4
15 CHINESE 13
bull Contemporary Computing for Technical Engineers and Scientists using Fortran90 and spreadsheets - Forsythe PWS 1997 0-534-93139-1
bull Numerical Recipes in Fortran 90 The Art of Parallel Scientific ComputingVolume 2 of Fortran Numerical Recipes - Press Teukolsky Vetterling and Flan-nery Cambridge U Press ISBN 0-521-57439-0 1996 Code can be downloaded(purchased) from httpwwwnrcom A CDROM is also available (see Website)
15 Chinese
bull Introduction to Programming with Fortran with coverage of Fortran 90 952003 and 77 Ian Chivers and Jane Sleightholme Posts and Telecom Pressand Springer-Verlag London 2009 ISBN 978-7-115-21227-6 (A translation ofIntroduction to Programming in Fortran)
bull Programming Language Fortran 90 - He Xingui Xu Zuyuan Wu Qingbao andChen Ming yuan China Railway Publishing House Beijing ISBN 7-113-01788-6TP187 1994
bull Fortran 90 - Walter S Brainerd Charles H Goldberg Jeanne C Adams CHEPBeijing and Springer Berlin 2000 ISBN 7-04-007937-2 (a translation of Pro-grammerrsquos Guide to Fortran 90)
16 Dutch
bull Fortran 90 - WS Brainerd ChH Goldberg and JC Adams translated byJM den Haan Academic Service 1991 ISBN 90 6233 722 8
17 Finnish
bull Fortran 9095 - Juha Haataja Jussi Rahola and Juha Ruokolainen Center forScientific Computing (Finland) 2001 339 pages 3rd edition ISBN 952-9821-60-3 WWW version httpwwwcscfioppaatf95
18 French
bull Fortran 90 Approche par la Pratique - P Lignelet Srie Informatique ditionsMenton 1993 ISBN 2-909615-01-4
bull Fortran 90 Les concepts fondamentaux the translation of Fortran 90 Ex-plained M Metcalf J Reid translated by M Caillat and B Pichon AFNOR1993 Paris ISBN 2-12-486513-7
14 CHAPTER 1 BOOKS
bull Fortran 90 Initiation partir du Fortran 77 - Aberti Srie Informatique ditionsMenton 1992 ISBN 2-909615-00-6
bull Les spcificits du Fortran 90 M Dubesset et J Vignes ditions Technip 1993 ISBN 2-7108-0652-5
bull Manuel complet du langage Fortran 90 et guide dapplication P Lignelet SrieInformatique ditions 1995 ISBN 2-909615-02-2
bull Manuel Complet du Langage Fortran 90 et Fortran 95 Calcul intensif et GnieLogiciel P Lignelet Masson ditions Paris 1996 ISBN 2-225-85229-4
bull Programmer en Fortran 90 C Delannoy Eyrolles 1992 ISBN 2-212-08723-3
bull Traitement des donnes numriques avec Fortran 90 M Olagnon Masson ditions1996 ISBN 2-225-85259-6
bull Structures des donnes (et leurs algorithmes) en Fortran 9095 P LigneletMasson ditions Paris ISBN 2-225-85373-8
19 German
bull Fortran 90 Lehrbuch D Rabenstein Hanser 1995 ISBN 3-446-18235-7
bull Die Programmiersprache F W Gehrke Springer-Verlag ISBN 3-540-63376-6
bull Fortran 90 - BWojcieszynski and RWojcieszynski Addison-Wesley 1993 ISBN3-89319-600-5
bull Fortran 90 eine informelle Einfhrung M Heisterkamp BI-Wissenschaftsverlag1991 ISBN 3-411-15321-0
bull Fortran 90 Kurs technisch orientiert - G Schmitt Oldenbourg 1996 ISBN3-486-23896-5
bull Fortran 90 Lehr- und Arbeitsbuch fr das erfolgreiche Programmieren WSBrainerd CH Goldberg and JC Adams translated by Peter Thomas andKlaus G Paul R Olbenbourg Verlag Muenchen 1994 ISBN 3-486-22102-7
bull Fortran 90 Lehr- und Handbuch - T Michel BI-Wissenschaftsverlag 1994
bull Fortran 90 Referenz-Handbuch der neue Fortran-Standard W Gehrke CarlHansen Verlag 1991 ISBN3-446-16321-2
bull Programmierung in Fortran 90 - Schobert Oldenburg 1991
bull Programmierung mit Fortran 90 - Bumer Vieweg Braunschweig 1997 ISBN3-528-05208-2
110 ITALIAN 15
bull Programmieren in Fortran - Erasmus Langer Springer-Verlag Wien New York1993 ISBN 3-211-82446-4 0-387-82446-4
bull Software Entwicklung in Fortran 90 - berhuber and Meditz Springer Verlag1993 ISBN 0-387-82450-2
110 Italian
bull Some resources in Italian including a manual are at
httpspacetinitcomputergciabu
bull Programmare con Fortran G Ciaburro FAG 2008 ISBN 9788882336882
wwwciaburroitf90librohtm
httpwwwibsitcode9788882336882ciaburro-giuseppeprogrammare-con-fortranhtml
111 Japanese
bull Fortran 90 Explained - Metcalf and Reid translated by H Nisimura H WadaK Nishimura M Takata Kyoritsu Shuppan Co Ltd 1993 ISSN 0385-6984
112 Russian
bull An Explanation of the Fortran 90 Programming Language (translation of For-tran 90 Explained - Metcalf and Reid) translated P Gorbounov Mir Moscow1995 ISBN 5-03-001426-8 Available also from PetrGorbounovcernch
bull FORTRAN 77 to Fortran 90 Tutorial - Einarsson and Shokin Russian Academyof Sciences Novosibirsk 1995 ISBN 5-85826-013-6
113 Swedish
bull Fortran 90 - en introduktion - Blom Studentlitteratur Lund 1994 ISBN 91-44-47881-X
16 CHAPTER 1 BOOKS
Chapter 2
Compilers
bull Version 110 August 2012 Updated Nag entry 53 release supports openMPAlso updated product availability entry
bull Version 19 November 2010 Updated Absoft in response to an email fromWood Lotz
bull Version 18 July 2010 Updated Sun to reflect takeover by Oracle UpdatedSalford to reflect Silverfrost rebranding
bull Version 17 June 2009 Updated the Cray and Intel entries Added a newsection on compilers that are no longer available This has involved moving theentries on Apogee Compaq and NA Software into this section For historicalcompleteness wersquove also added an entry for EPC to this section
bull Version 16 September 2008 Updated the NAG entry with more details of theFortran Builder IDE
bull Version 15 September 2007 Updated Absoft Entry Compaq Fortran Com-pany Fujitsu Gnu Fortran 95 G95 IBM Intel LaheyFujitsu NAG NASoftware NEC Pathscale PGI SalfordSilverfrost SGI Sun
21 Introduction
The following is a list of companies and organisations that provide Fortran compilersthat conform to the Fortran 90 95 2003 and 2008 standards Fortran Forum hasa more or less standing table on compilers that support features from the 2003 and2008 standards The gfortran g95 and Sun compilers are free for Linux and gfortranand g95 are free for Windows
22 Absoft
httpwwwabsoftcom
18 CHAPTER 2 COMPILERS
Absoft Pro Fortran is a complete tool suite designed to automate building par-allel code on Linux Windows or Mac OSIntel Absoft Rolls are also available forx64Linux Compilers are full F95 include all popular legacy extensions many fromF2003 and are fully link and debug compatible with the host (Linux Microsoft MacOS) tool chain Compilers offer automatic parallelization vectorization OpenMP 30GPU support and Absoft application performance is consistently rated 1 on AMDand Intel systems by third party benchmarks IDE includes SMP graphical analyzerFx3 graphical multi-language debugger programmers editor several Fortran specificfeatures OpenMP and MPI controls math libraries VAXUnix libraries and 2D3Dgraphics Same look feel and functionality on all systems Nothing else to buy orlearn IMSL numerical libraries are a bundle option on all platforms
23 Cray
httpwwwcraycom
Cray has a fully optimizing Fortran 2003 compiler available for the Cray XT seriessystems This compiler also supports OpenMP and several Fortran 2008 featuresincluding submodules and coarrays
Cray has a fully-optimizing Fortran 95 compiler available for the Cray PVP (J90SV1) T3E and X1 systems The PVP compiler supports automatic parallization andOpenMP The T3E compiler supports coarrays The X1 compiler supports automaticstreaming OpenMP coarrays and many Fortran 2003 featuresrdquo
24 Fortran Company
httpwwwfortrancom
The Fortran Company offers F the subset language for Unix and Windows somein highly optimizing versions All of the full professional versions of the F compilerare available free by downloading them from the F anonymous ftp directory
The Fortran Tools include a Fortran 95 compiler with a graphical user interfacethat runs on Linux or Windows on a CD The CD also includes several Fortran booksin PDF format and many tools such as Matran a matrix computation library thatuses the highly tuned Atlas libraries a plotting package and a library of routines tocreate GUIs for your Fortran application programs
25 Fujitsu
httpwwwfujitsucomglobal
26 GNU FORTRAN 95 19
Fortran 95 (Solaris) A powerful updated development system used for FORTRANproductive applications Current version Sun Studio 9
The ISO Fortran 95 Standard is fully supported additionally there are enhance-ments for Fortran77 such as pointersstructures binaryoctalhexadecimal constantsetc High optimization includes automatic parallelization and OpenMP support AFortran runtime system optimized for UltraSPARC is now also included in the pack-age The development environment consists of the following components
Workbench An integral development environment for the CC++ and Fortrancompilers for compiler control program execution debugging performance analysiscoverage etc with a Motif-based graphical user interface (GUI)
Visual Analyzer A development and migration tool for CC++ and Fortranprograms The enclosed Source Analyzer allows the static program structure and theglobal data relations to be visualized It contains a class browser cross referencesand a calling graph viewer
Parallel Analyser Consists of an integrated development environment for theOpenMP programming It contains a manager a debugger and a profiler
Fujitsu also has a Fortran 95 compiler for Linux and a highly optimized nativeFortran 95 compiler FortranVPP and HPF for its VPP supercomputers
26 Gnu Fortran 95
httpgccgnuorgwikiGFortran
httpgccgnuorgfortran
Gfortran is the name of the GNU Fortran project developing a free Fortran 952003compiler for GCC the GNU Compiler Collection The gfortran development effortuses an open development environment in order to attract a larger team of devel-opers and to ensure that gfortran can work on multiple architectures and diverseenvironments The GNU Fortran 95 project or gfortran is developing a Fortran 95compiler front end as well as runtime libraries for GCC the GNU Compiler Col-lection Gfortran development is a part of the GNU project aiming to bring freenumber crunching to all GNU system variants The gfortran development effort usesan open development environment in order to attract a larger team of developers andto ensure that gfortran can work on multiple architectures and diverse environmentsIn particular the project wishes to reach the users of the Fortran 95 language beit in the scientific community in education or in a commercial environment Todaytruly free Fortran 90 or Fortran 95 compilers do not exist We are trying to makeone available to the Fortran community
27 g95
httpwwwg95org
20 CHAPTER 2 COMPILERS
g95 is a stable production Fortran 95 compiler available for multiple cpu architec-tures and operating systems Innovations and optimizations continue to be workedon Parts of the F2003 standard have been implemented in g95
28 Hewlett Packard
The web address that describes all of the compilers and supported hardware andoperating systems is
httph21007www2hpcomdspptechtech_TechSoftwareDetailPage_IDX11703623500h
HPrsquos Fortran products are available for multiple platforms Windows Tru64 UNIXAlphaServer systems Linux AlphaServer systems and HP OpenVMS (Alpha VAX)
Visual Fortran for WindowsFortran for Linux AlphaFortran for Tru64 UNIX AlphaFortran for HP OpenVMS AlphaFortran for HP OpenVMS IntegrityFortran for HP OpenVMS VAXFortran for HP-UXThe Windows product Compaq Visual Fortran includes the Microsoft Developer
Studio IDE which can be shared with Microsoft Visual C++ Parallel execution usingOpenMP-directed decomposition or HPF is included on the Tru64 UNIX platformOn Windows NT SMP parallel execution using directed decomposition is availablethrough Visual Compaq Fortran for Linux Alpha Systems is available as a freedownload under a Technology Enthusiast license for non-commercial use All Com-paq Fortran 95 products include the Compaq Extended Math Library of optimizedscientific subroutines and the allocatable array extensions
29 IBM
httpwww-306ibmcomsoftwareawdtoolsfortran
httpwww-306ibmcomsoftwareawdtoolsfortranxlfortranfeaturesf2003html
XL Fortran Enterprise Edition for AIX XL Fortran Enterprise Edition for AIX pro-vides industry-leading code optimization and tuning features a full implementationof the OpenMP API Version 25 Symmetric Multiprocessing (SMP) APIs directmanipulation of the floating-point status and control register 64-bit enablementasynchronous IO debug memory routines and many other features
XL Fortran Advanced Edition for Blue Gene XL Fortran Advanced Edition forBlue Gene is the latest addition to our XL Fortran compiler family It expands our
210 INTEL 21
proven XL Fortarn compiler technology to exploit the capabilities of the PowerPC440 and 440d processors used in IBM Blue GeneL supercomputers
XL Fortran Advanced Edition for Linux XL Fortran Advanced Edition for Linuxsupports your choice of RHEL4 SLES9 and Y-HPC Linux distributions Advancedoptimization technology and VMX support help you create high-performance 32-bitand 64-bit applications that run efficiently on a variety of processor architecturesincluding IBMrsquos newest POWER5+ and PowerPC 970 processors and Apple PowerMac G5 and Xserve G5 systems
VS FORTRAN VS FORTRAN contains features geared to help Fortran program-mers develop applications more easily and efficiently while using the full power ofIBMrsquos large systems
The second web link has details of Fortran 2003 support
210 Intel
httpsoftwareintelcomen-usintel-compilers
Intel offers optimizing Fortran compilers for the IA-32 x64 and IA-64 (Intel Ita-nium) architectures running the Linux Mac OS X (IA-32 and x64) or Windows op-erating systems Intel Fortran is fully compliant with Fortran 95 and supports mostof Fortran 2003 as well as many popular extensions The compiler offers automaticparallelization and vectorization and supports OpenMP 30 as well as generatingoptimized code for the latest Intel processors and compatible non-Intel processors
On all platforms the Intel Fortran compiler includes the Intel Math Kernel Li-brary a library of highly optimized extensively threaded math routines for scienceengineering and financial applications The IMSL Fortran Numeric Library 60 fromVisual Numerics is an option on Windows
On Windows the compiler integrates into Microsoft Visual Studio 2003 2005 or2008 and includes a self-sufficient Fortran development environment based on Mi-crosoft Visual Studio 2008 The Windows compiler also provides mechanisms tointerface Fortran code with the Microsoft COM and NET environments Academicand student pricing is available
211 LaheyFujitsu
httpwwwlaheycom
LaheyFujitsu Fortran 95 is produced by the LaheyFujitsu alliance LF95 is avail-able in three Windows configurations Express Standard and PRO and two Linuxconfigurations Express and PRO All configurations feature VAX IBM and POSIXlanguage extensions allocatable array enhancements etc The Windows and LinuxExpress version is command line only and features the compiler linker and debug-ger PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-
22 CHAPTER 2 COMPILERS
TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creatingtrue Windows programs with Fortran and a Coverage Analysis Tool that detects un-executed code and performs range of operation checking The PRO is compatible withVisual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 Math Libraryand Visual Analyzer (see below) The PRO Linux version offers auto-parallelizationOpenMP compatibility thread-safe BLAS and LAPACK WiSK AUTOMAKE andFujitsus SSL2 All products come with free technical support and are available at Also available is a subset compiler elf90
It would appear that the Windows version is no longer under active developmentThe last update was dated December 2004
212 NAG
httpwwwnagcouknagwareasp
The NAG Fortran Compiler derived from the worldrsquos first Fortran 90 Compilerfrom NAG is robust highly tested and valued by developers all over the globe forits checking capabilities and detailed error reporting Available on a wide range ofUnix and Windows platforms it accepts fixed or free format Fortran 95 input andmany common Fortran 77 extensions are allowed A large number of Fortran 2003language features are now available HPF code is also compiled and checked thoughonly single processor output is generated The 53 release supports a good workingsubset of OpenMP 3
The following versions are availableApple Intel Mac64 Release 53 gcc 42HP PA-RISC 11 Release 51 HP ANSI CIBM Power AIX Release 51 AIX XL C 60IBM Z9 Linux Release 51 gcc 346IBM Z9 Open Edition Release 52 IBM CLinux x86-32 Release 53 gcc 322Linux64 Release 53 gcc 412Sun SPARC Solaris Release 52 gcc 342Sun SPARC Solaris Release 52 Sun C v 55x86 and x86-64 Windows Release 53An integrated Fortran IDE is also available for Windows
httpwwwnagcouknagwarenpfortranbuilderasp
213 NEC
httpwwwneccom
214 ORACLE - ORIGINALLY SUN 23
NEC has a native optimizing Fortran 95 compiler FORTRAN90SX with anautomatic vectorization and parallelization capability for its supercomputer SX se-ries HPFSX V2 provides functions conforming to the specification of HPF11 andHPF20 and can be used with vector processing functions in SX Fortran and withparallel processing functions using microtasking
214 Oracle - originally Sun
httpwwworaclecomussunindexhtm
httpwwwsuncom
httpdeveloperssuncomsunstudio
httpdeveloperssuncomsunstudiodownloadsexpress
Sun Studio software delivers high-performance optimizing C C++ and Fortrancompilers for the Solaris OS on SPARC and both Solaris and Linux on x86x64platforms including the latest multi-core systems
Whatrsquos in Sun StudioAll Compilers - Specify 32-bit or 64-bit Address Model Auto-parallelization of
single-threaded code Flags Static data-race and deadlock-detection for x86 Mathand Visual Instruction Set Support in SPARC64 VI Option for Floating-Point Fusedor Multiply-Add Instructions Option for Thread Analyzer support Linux SupportOpenMP and OpenMPI suport Support for the directives clauses and attributes
Fortran Compiler - Interval arithmetic support on Solaris Intel platform Fastercompilation time for source files UNSIGNED arguments Backward compatibilitywith f77
C Compiler - More options Auto-parallelization of single-threaded code GNU Ccompatibility
C++ Compiler - More options ABI compatibility Compiler flags to optimize formulticore architectures Static linking the standard C++ runtime library
215 PathScale
httpwwwpathscalecomproductspathscale_compiler_suite
PathScalersquos goal is to make it easier to develop and deploy 64-bit applications intoclustered environments PathScale has developed the industryrsquos highest-performanceC C++ and Fortran 9X compilers for 64-bit Linux-based computer systems ThePathScale Compiler Suite shares its heritage with the well-known and mature SGIcompiler suite The PathScale Compiler Suite has been optimized for both the
24 CHAPTER 2 COMPILERS
AMD64 and EM64T architectures and has the worldrsquos most sophisticated optimiza-tion infrastructure
Unlike other compilers the PathScale Compiler Suite provides superior perfor-mance across both floating-point and integer-intensive applications Application de-velopers targeting 64-bit Linux servers will see immediate performance benefits fromcompiling with the PathScale compilers
The PathScale Compiler Suite includesC C++ and Fortran 779095 compilers Industry leading optimizations Com-
plete support for OpenMP 20 (including WORKSHARE) Complete support for 64-bit and 32-bit x86 compilation Code generation for AMD64 ABI AMD Opteronand Intel EM64T PathScale optimized AMD Core Math Library (available for down-load) Advanced serial debugger PathDB Compatible with GNUgcc tool chain andpopular Third Party debuggers Supported on SUSE RedHat and Fedora Linux Thecurrently shipping version of the PathScale Compiler Suite is
216 PGI
httpwwwpgroupcom
High-performance Optimizing Parallel Compilers For multi-core 64-bit x64 and 32-bit x86 processor-based Linux Mac OS X and Windows workstations servers andclusters PGI Workstation includes a single seat license for PGIrsquos suite of compilersand tools Also available with a multi-user network floating license (PGI Server)The PGI CDK Cluster Development Kit includes all the software for building andprogramming a turn-key Linux cluster PGI Visual Fortran fully integrates PGIparallel Fortran into Microsoft Windows using Microsoft Visual Studio 2005
217 Silverfrost nee Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
Salford Software markets FTN95 a Fortran 95 compiler for Win32 running onWindows 95NT2000XP PCs It has announced its Fortran 95 compiler for Mi-crosoft NET (FTN95 for NET) This compiler will produce fast executables fromsource files that may be any combination of Fortran 77 Fortran 90 and Fortran 95FTN95 for NET including integrated Help and Debugger is supplied bundled withFTN95 for Win32 and optionally with Microsoft Visual Studio for NET A low-costfully-featured personal edition is also available
218 SGI
httpwwwsgicomproductssoftwareirixtoolsfortranhtml
219 SUN - SEE ORACLE 25
MIPSpro Fortran Compilers This 64-bit ANSI Fortran 77 compiler is ideal forsystems running IRIX 6x It is compatible with VAXVMS Fortran and supportsCray extensions The 74 version of the MIPSpro Fortran 77 and Fortran 90 compilersnow support the OpenMP 20 standard Among the new features introduced in theOpenMP 20 specification are
WORKSHARE directive COPYPRIVATE clause for the broadcast of sequentialreads Portable timing routines MIPSpro Fortran 90 Compiler A 64 bit ANSI Fortran90 compiler with additional support for user-defined multiprocessing directives forsystems running IRIX 6x Compatible with VAXVMS Fortran and supports Crayextensions With the release of version 74 Fortran 90 specific support under theOpenMP 20 standard are
Parallelization of F90 array syntax via the WORKSHARE directive Privatizationof deferred shape and assumed shape objects The full Fortran 20 specification canobtained from the OpenMP Web site at httpwwwopenmporg
For more information read about the MIPSpro compilers
219 Sun - see Oracle
220 No longer available
2201 Apogee
httpwwwapogeecom
Features of the FORTRAN 7790 CompilerNo longer available Originally available for the SolarisSPARC platforms the
compiler conforms to Sunrsquos Solaris ABI and produces assembler code files acceptableto Sunrsquos Solaris assembler When used in the FORTRAN 77 compilation modethe compiler is compliant with the MIL-STD 1753 FORTRAN 77 and accepts mostFORTRAN 77 extensions of Sun IBM and other F77 compilers The supportedF77 extensions include structures length qualification on types additional data andconstant types initializations in type statements additional statements (END DODO WHILE POINTER VOLATILE etc) computations with aggregates namelist-directed IOs and debugging statements
When used in the Fortran 90 mode the compiler is compliant with the ANSIISOFortran 90 standard
2202 Compaq
This compiler is no longer under development This ceased when Intel bought outthe technology from HP Still widely used with legacy software Copies for sale canbe found on Ebay and similar vites
26 CHAPTER 2 COMPILERS
2203 EPC
Edinburgh Portable Compilers was an early vendor to produce a Fortran 90 compila-tion system A report by Adam Marshall from Liverpool University has a comparisionof several early Fortran 90 compilers It can be found at the address below
httpwwwlivacukHPCFortranCompilerStudyHTMLFortranCompilerStudyHTMLhtml
2204 NA Software
httpwwwnasoftwarecoukhomehtml
No longer available
Chapter 3
Fortran aware editors and IDEs
bull Version 15 October 2011 Updated photran entry
bull Version 14 July 2010 Added SunStudio Express entry
bull Version 131 April 2006 Added Windows Zeus entry
31 Windows
311 Absoft Editor (ae)
httpwwwabsoftcom
312 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
313 compaq visual fortran 6x
Nolongeravailable
314 editeur
wwwstudiowarecom
315 emacsxemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
316 emacsxemacs - cygwin components
httpwwwcygwincom
28 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
317 gvimvim - stand alone
httpwwwvimorg
318 gvimvim - cygwin component
httpwwwcygwincom
319 jed wjed (Windows)
httpwwwjedsoftorgjed
3110 lahey ed
httpwwwlaheycom
3111 microsoft visual studio 6
No longer available
3112 Microsoft Visual StudioNET
There are a number of vendors that have provided integration with Microsoft VisualStudio NET These include
Intel Visual Fortranwwwintelcom
LaheyFujitsu Fortranwwwlaheycom
Silverfrost Salford FTN95httpwwwsilverfrostcom11ftn95overviewasp
3113 nedit - cygwin
httpwwwneditorg
3114 ntemacs
httpwwwgnuorgsoftwareemacswindowsntemacshtml
3115 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
32 LINUXUNIX 29
3116 salford plato
httpwwwsilverfrostcom11ftn95overviewasp
3117 Oracle Solaris Studio Express
httpdeveloperssuncomsunstudiodownloadsexpress
3118 UltraEdit
wwwultraeditcom
3119 xemacsemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
3120 xemacsemacs - cygwin components
httpwwwcygwincom
3121 Zeus ide
httpwwwzeuseditcomfortranhtml
32 LinuxUnix
321 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
322 emacsxemacs
httpwwwgnuorgsoftwareemacsemacshtml
323 jed xjed (Unix(all flavours)OpenVMS) wjed (Win-dows)
httpwwwjedsoftorgjed
324 nedit
httpwwwneditorg
30 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
325 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
33 Apple OS X
331 Absoft Editor
httpwwwabsoftcom
332 BBEdit
httpwwwapplecomdownloadsmacosxproductivity_toolsbbedithtml
httpwwwbarebonescomproductsbbeditindexshtml
333 emacsxemacs
pre-installed
334 Photran
wwwphotranorg
335 Smultron
httpsmultronsourceforgenet
336 TextMate
httpmacromatescom
337 TextWrangler
httpwwwapplecomdownloadsmacosxproductivity_toolstextwranglerhtml
httpwwwbarebonescomproductstextwranglerindexshtml
338 Vim
Pre-installed
33 APPLE OS X 31
339 Xcode
httpdeveloperapplecom
3310 xemacsemacs
pre-installed
32 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
Chapter 4
Commercial Courses
bull Version 14 August 2012 Updated several entries
bull Version 13 November 2011 Notified by Shaun Forth at Cranfield of theirchanges Also added the HECToR entries
bull Version 12 August 2010
bull Version 11 September 2008
bull Version 10 January 2006
41 Ian Chivers and Jane Sleightholme
Ian Chivers and Jane Sleightholme are available to do tailored on site courses Coursesinclude
bull Introduction to Modern Programming in Fortran
bull Advanced Features of Modern Fortran
See
httpwwwfortranpluscouk
42 Cranfield University
Cranfield University offers four Fortran programming courses
bull Introduction to Programming in Fortran 95 and 2003 (3 days)
bull Advanced Programming in Fortran 95 and 2003 (3 days)
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
8 CONTENTS
1125 William Kahan 721126 IEEE 754 floating-point test software 721127 Interval FAQ from Alejandro Casares ndash What machines support IEEE 754 721128 Decimal Arithmetic - FAQ 1 721129 General Decimal Arithmetic 72
113 Programming 731131 Calling FORTAN and C from Java 731132 CS 267 Applications of Parallel Computers 731133 Hillsidenet - Design Patterns Book - DP Book 731134 Hillsidenet - Design Patterns Book - Source 731135 Home page of Les Hatton 731136 Parallel Programming - Basic Theory For The Unwary 731137 Putting a Java Interface on your C C++ or Fortran Code 731138 Teach Yourself Programming in Ten Years 73
Chapter 1
Books
bull Version 17 August 2012 Added Section 11 Chivers Added Section 11 Mar-cus
bull Version 16 January 2012 Added Section 15 Chivers
bull Version 15 October 2011 Added Section 11 Chivers Added Section 11 Cler-man Added Section 11 Gnu Fortran Added Section 11 Rouson Added Section12 Lakshmivarahan
bull Version 14 July 2010 Added Section 11 Brainerd Added Section 11 McCor-mmack Added Section 11 Ray Added Section 12 Rajaram Added Section13 Barlow et al Added Section 14 Chandra et al Added Section 14 Chapmanet al
bull Version 13 June 2009 Removed invalid web address in Morgan and Schonfelderentry Corrected spelling in Chinese entry
bull Version 12 September 2008 Added Section 11 Adams et al Added Section110 Ciaburro
bull Version 11 September 2007 Added Section 11 Chapman Added Section 12Lemmon
11 Fortran 2003 and 2008 - English
bull Adams JC Brainerd WS Hendrickson RA Maine RE Martin JTSmith BT The Fortran 2003 Handbook The Complete Syntax Features andProcedures 2008 Springer Verlag ISBN 978-1-84628-378-9
bull Brainerd WS Guide to Fortran 2003 Programming 2009 Springer VerlagISBN 978-1-84882-542-0
bull Chapman SJ Fortran 952003 For Scientists and Engineers 2007 McGraw-Hill ISBN 978-0073191577 ISBN 0073191574
10 CHAPTER 1 BOOKS
bull Chivers ID Sleightholme J Introduction to Programming with Fortran Withcoverage of Fortran 90 95 2003 2008 and 77 2012 Springer Verlag ISBN-100857292323 ISBN-13 978-0857292322 Second Edition
bull Chivers ID Sleightholme J Introduction to Programming with Fortran Withcoverage of Fortran 90 95 2003 and 77 2006 Springer Verlag ISBN 1-84628-053-2 First Edition
bull Clerman NS Spector W Modern Fortran Style and Usage Cambridge Uni-versity Press 2011 ISBN-10 052173052X ISBN-13 978-0521730525
bull Gnu Fortran Team Using Gnu Fortran Manual For Gcc Version 433 Cre-ateSpace ISBN-10 1441412662 ISBN-13 978-1441412669 2009
bull McCormack D Scientific Software Development with Fortran 2009 ISBN 978-1-4452-5445-6
bull Metcalf M Reid J and Cohen M Fortran 952003 Explained 2004 OxfordUniversity Press ISBN 0-19-852693-8 ISBN 0-19-852692-X
bull Marcus A Modern Fortran in Practice 2012 Cambridge University PressISBN-10 1107017904 ISBN-13 978-1107017900
bull Ray S A Textbook on Fortran 2003 2009 Alpha Science International ISBN978-1-84265-479-8
bull Rouson D Xia J Xu X Scientific Software Design The Object-OrientedWay Cambridge University Press 2011 ISBN-10 0521888131 ISBN-13 978-0521888134
12 Fortran 95 - English
bull Adams JC Brainerd WS Martin JT Smith BT and Wagener JL Fortran95 Handbook 1997 MIT ISBN 0-262-51096-0
bull Adams JC Brainerd WS Martin JTand Smith BT Fortran Top 95 NinetyFive Key Features of Fortran 95 $10 The book is only available in PDF formfrom the Fortran Store httpwwwfortrancom
bull Akin E Object Oriented Programming via Fortran 9095 2003 CambridgeUniversity Press ISBN 0-521-52408-3
bull Chapman S J Fortran 9095 for Scientists and Engineers 2004 McGraw HillISBN 0-07-282575-8
bull Chapman SJ Introduction to Fortran 9095 1997 McGraw-Hill 1997 ISBN0-07-011969-4
13 FORTRAN 90 - ENGLISH 11
bull Chivers ID Sleightholme J Introducing Fortran 95 2000 Springer VerlagISBN 185233276X
bull Counihan M Fortran 95 1997 UCL ISBN 185728367-8
bull Etzel M Dickinson K Digital Visual Fortran 90 Programmerrsquos Guide 1999Digital Press ISBN 1-55558-218-4
bull Gehrke Fortran 95 Language Guide 1996 Springer ISBN 3-540-76062-8
bull Lakshmivarahan S Sudarshan K Dhall Programming in Fortran 9095 Pub-lisher Pearson Custom Publishing (2002) ASIN B000XM3WZ0
bull Lawrence N Compaq Visual Fortran A Guide to Creating Windows Applica-tions 2001 Digital Press ISBN 1-55558-249-4
bull Lemmon DRSchafer JL Developing Statistical Software in Fortran 95 2005Springer ISBN-10 0387238174 ISBN-13 978-0387238173
bull Metcalf M Reid J Fortran 9095 Explained 1999 Oxford University PressISBN 0-19-850558-2
bull Morgan amp Schonfelder Programming in Fortran 9095 available in AcrobatPDF format from httpwwwfortrancom
bull Rajaram V Computer Programming in Fortran 90 and 95 2004 Prentice HallISBN 978-8120311817
bull Vowels R Introduction to Fortran 9095 Algorithms and Structured Pro-gramming Part 1 Introduction to Fortran 90 Part 2 Algorithms and Fortran90 ISBN 0-9596384-8-2
13 Fortran 90 - English
bull Barlow RJ Barnett AR Computing for Scientists Principles of Program-ming with Fortran 90 and C++ 1998 Wiley Blackwell ISBN 978-0471955962
bull Adams Brainerd Martin Smith and Wagener Fortran 90 Handbook 1992McGraw Hill ISBN 0-07-000406-4
bull Brainerd Goldberg and Adams Programmers Guide to Fortran 90 1996Springer ISBN 0-387-94570-9
bull Brainerd Goldberg and Adams Programmers Guide to Fortran 90 1994 Uni-comp ISBN 0-07-000248-7
bull Brooks Problem solving with Fortran 90 for scientists and engineers 1997Springer ISBN 0-387-98229-9
12 CHAPTER 1 BOOKS
bull Chivers ID Sleightholme J Introducing Fortran 90 1995 Springer ISBN3-540-19940-3
bull Ellis Philips Lahey Fortran 90 Programming 1994 Addison Wesley ISBN0-201-54446-6
bull Etter Fortran 90 for Engineers 1995 BenjaminCummings ISBN 0-201544-46-6
bull Gehrke Fortran 90 Language Guide 1996 Springer ISBN 3-540-19926-8
bull Hahn DB Fortran 90 for Scientists and Engineers 1994 Edward Arnold ISBN0-340-60034-9
bull Huddleston Fortran 90 1996 Exchange Publ Div ISBN 0-945261-07-1
bull Kerrigan JF Migrating to Fortran 90 1993 OrsquoReilly ISBN 1-56592-049-X
bull Meissner LP Fortran 90 1995 PWS Kent ISBN 0-534-93372-6
bull Metcalf M Reid J Fortran 90 Explained 1990 Oxford University Press ISBN0-19-853772-7
bull Morgan amp Schonfelder Programming in Fortran 90 1993 Alfe4d Waller ISBN1-872474-06-3
bull Nyhoff Leestma Fortran 90 for Engineers and Scientists1 1996 PrenticeHall ISBN 0-13-519729-5
bull Nyhoff Leestma An introduction to Fortran 90 for Engineers and Scientists1996 Prentice Hall ISBN 0-13-505215-7
bull Redwine Upgrading to Fortran 90 1995 Springer-Verlag ISBN 0-387-97995-6
bull Schick Silverman Fortran 90 and Engineering Computation 1994 JohnWiley ISBN 0-471-58512-2
bull Smith IM Programming in Fortran 90 Wiley ISBN 0471-94185-9
bull Wagener Fortran 90 Concise Reference 1998 Absoft ISBN 0-9670066-0-0
14 English books on related topics
bull Advanced Scientific Computing - Wille Wiley 1995 ISBN 0471-95383-0
bull Atlas for Computing Mathematical Functions in Fortran 90 and Mathematica- Thompson Wiley 1997 0-471-18171-4
15 CHINESE 13
bull Contemporary Computing for Technical Engineers and Scientists using Fortran90 and spreadsheets - Forsythe PWS 1997 0-534-93139-1
bull Numerical Recipes in Fortran 90 The Art of Parallel Scientific ComputingVolume 2 of Fortran Numerical Recipes - Press Teukolsky Vetterling and Flan-nery Cambridge U Press ISBN 0-521-57439-0 1996 Code can be downloaded(purchased) from httpwwwnrcom A CDROM is also available (see Website)
15 Chinese
bull Introduction to Programming with Fortran with coverage of Fortran 90 952003 and 77 Ian Chivers and Jane Sleightholme Posts and Telecom Pressand Springer-Verlag London 2009 ISBN 978-7-115-21227-6 (A translation ofIntroduction to Programming in Fortran)
bull Programming Language Fortran 90 - He Xingui Xu Zuyuan Wu Qingbao andChen Ming yuan China Railway Publishing House Beijing ISBN 7-113-01788-6TP187 1994
bull Fortran 90 - Walter S Brainerd Charles H Goldberg Jeanne C Adams CHEPBeijing and Springer Berlin 2000 ISBN 7-04-007937-2 (a translation of Pro-grammerrsquos Guide to Fortran 90)
16 Dutch
bull Fortran 90 - WS Brainerd ChH Goldberg and JC Adams translated byJM den Haan Academic Service 1991 ISBN 90 6233 722 8
17 Finnish
bull Fortran 9095 - Juha Haataja Jussi Rahola and Juha Ruokolainen Center forScientific Computing (Finland) 2001 339 pages 3rd edition ISBN 952-9821-60-3 WWW version httpwwwcscfioppaatf95
18 French
bull Fortran 90 Approche par la Pratique - P Lignelet Srie Informatique ditionsMenton 1993 ISBN 2-909615-01-4
bull Fortran 90 Les concepts fondamentaux the translation of Fortran 90 Ex-plained M Metcalf J Reid translated by M Caillat and B Pichon AFNOR1993 Paris ISBN 2-12-486513-7
14 CHAPTER 1 BOOKS
bull Fortran 90 Initiation partir du Fortran 77 - Aberti Srie Informatique ditionsMenton 1992 ISBN 2-909615-00-6
bull Les spcificits du Fortran 90 M Dubesset et J Vignes ditions Technip 1993 ISBN 2-7108-0652-5
bull Manuel complet du langage Fortran 90 et guide dapplication P Lignelet SrieInformatique ditions 1995 ISBN 2-909615-02-2
bull Manuel Complet du Langage Fortran 90 et Fortran 95 Calcul intensif et GnieLogiciel P Lignelet Masson ditions Paris 1996 ISBN 2-225-85229-4
bull Programmer en Fortran 90 C Delannoy Eyrolles 1992 ISBN 2-212-08723-3
bull Traitement des donnes numriques avec Fortran 90 M Olagnon Masson ditions1996 ISBN 2-225-85259-6
bull Structures des donnes (et leurs algorithmes) en Fortran 9095 P LigneletMasson ditions Paris ISBN 2-225-85373-8
19 German
bull Fortran 90 Lehrbuch D Rabenstein Hanser 1995 ISBN 3-446-18235-7
bull Die Programmiersprache F W Gehrke Springer-Verlag ISBN 3-540-63376-6
bull Fortran 90 - BWojcieszynski and RWojcieszynski Addison-Wesley 1993 ISBN3-89319-600-5
bull Fortran 90 eine informelle Einfhrung M Heisterkamp BI-Wissenschaftsverlag1991 ISBN 3-411-15321-0
bull Fortran 90 Kurs technisch orientiert - G Schmitt Oldenbourg 1996 ISBN3-486-23896-5
bull Fortran 90 Lehr- und Arbeitsbuch fr das erfolgreiche Programmieren WSBrainerd CH Goldberg and JC Adams translated by Peter Thomas andKlaus G Paul R Olbenbourg Verlag Muenchen 1994 ISBN 3-486-22102-7
bull Fortran 90 Lehr- und Handbuch - T Michel BI-Wissenschaftsverlag 1994
bull Fortran 90 Referenz-Handbuch der neue Fortran-Standard W Gehrke CarlHansen Verlag 1991 ISBN3-446-16321-2
bull Programmierung in Fortran 90 - Schobert Oldenburg 1991
bull Programmierung mit Fortran 90 - Bumer Vieweg Braunschweig 1997 ISBN3-528-05208-2
110 ITALIAN 15
bull Programmieren in Fortran - Erasmus Langer Springer-Verlag Wien New York1993 ISBN 3-211-82446-4 0-387-82446-4
bull Software Entwicklung in Fortran 90 - berhuber and Meditz Springer Verlag1993 ISBN 0-387-82450-2
110 Italian
bull Some resources in Italian including a manual are at
httpspacetinitcomputergciabu
bull Programmare con Fortran G Ciaburro FAG 2008 ISBN 9788882336882
wwwciaburroitf90librohtm
httpwwwibsitcode9788882336882ciaburro-giuseppeprogrammare-con-fortranhtml
111 Japanese
bull Fortran 90 Explained - Metcalf and Reid translated by H Nisimura H WadaK Nishimura M Takata Kyoritsu Shuppan Co Ltd 1993 ISSN 0385-6984
112 Russian
bull An Explanation of the Fortran 90 Programming Language (translation of For-tran 90 Explained - Metcalf and Reid) translated P Gorbounov Mir Moscow1995 ISBN 5-03-001426-8 Available also from PetrGorbounovcernch
bull FORTRAN 77 to Fortran 90 Tutorial - Einarsson and Shokin Russian Academyof Sciences Novosibirsk 1995 ISBN 5-85826-013-6
113 Swedish
bull Fortran 90 - en introduktion - Blom Studentlitteratur Lund 1994 ISBN 91-44-47881-X
16 CHAPTER 1 BOOKS
Chapter 2
Compilers
bull Version 110 August 2012 Updated Nag entry 53 release supports openMPAlso updated product availability entry
bull Version 19 November 2010 Updated Absoft in response to an email fromWood Lotz
bull Version 18 July 2010 Updated Sun to reflect takeover by Oracle UpdatedSalford to reflect Silverfrost rebranding
bull Version 17 June 2009 Updated the Cray and Intel entries Added a newsection on compilers that are no longer available This has involved moving theentries on Apogee Compaq and NA Software into this section For historicalcompleteness wersquove also added an entry for EPC to this section
bull Version 16 September 2008 Updated the NAG entry with more details of theFortran Builder IDE
bull Version 15 September 2007 Updated Absoft Entry Compaq Fortran Com-pany Fujitsu Gnu Fortran 95 G95 IBM Intel LaheyFujitsu NAG NASoftware NEC Pathscale PGI SalfordSilverfrost SGI Sun
21 Introduction
The following is a list of companies and organisations that provide Fortran compilersthat conform to the Fortran 90 95 2003 and 2008 standards Fortran Forum hasa more or less standing table on compilers that support features from the 2003 and2008 standards The gfortran g95 and Sun compilers are free for Linux and gfortranand g95 are free for Windows
22 Absoft
httpwwwabsoftcom
18 CHAPTER 2 COMPILERS
Absoft Pro Fortran is a complete tool suite designed to automate building par-allel code on Linux Windows or Mac OSIntel Absoft Rolls are also available forx64Linux Compilers are full F95 include all popular legacy extensions many fromF2003 and are fully link and debug compatible with the host (Linux Microsoft MacOS) tool chain Compilers offer automatic parallelization vectorization OpenMP 30GPU support and Absoft application performance is consistently rated 1 on AMDand Intel systems by third party benchmarks IDE includes SMP graphical analyzerFx3 graphical multi-language debugger programmers editor several Fortran specificfeatures OpenMP and MPI controls math libraries VAXUnix libraries and 2D3Dgraphics Same look feel and functionality on all systems Nothing else to buy orlearn IMSL numerical libraries are a bundle option on all platforms
23 Cray
httpwwwcraycom
Cray has a fully optimizing Fortran 2003 compiler available for the Cray XT seriessystems This compiler also supports OpenMP and several Fortran 2008 featuresincluding submodules and coarrays
Cray has a fully-optimizing Fortran 95 compiler available for the Cray PVP (J90SV1) T3E and X1 systems The PVP compiler supports automatic parallization andOpenMP The T3E compiler supports coarrays The X1 compiler supports automaticstreaming OpenMP coarrays and many Fortran 2003 featuresrdquo
24 Fortran Company
httpwwwfortrancom
The Fortran Company offers F the subset language for Unix and Windows somein highly optimizing versions All of the full professional versions of the F compilerare available free by downloading them from the F anonymous ftp directory
The Fortran Tools include a Fortran 95 compiler with a graphical user interfacethat runs on Linux or Windows on a CD The CD also includes several Fortran booksin PDF format and many tools such as Matran a matrix computation library thatuses the highly tuned Atlas libraries a plotting package and a library of routines tocreate GUIs for your Fortran application programs
25 Fujitsu
httpwwwfujitsucomglobal
26 GNU FORTRAN 95 19
Fortran 95 (Solaris) A powerful updated development system used for FORTRANproductive applications Current version Sun Studio 9
The ISO Fortran 95 Standard is fully supported additionally there are enhance-ments for Fortran77 such as pointersstructures binaryoctalhexadecimal constantsetc High optimization includes automatic parallelization and OpenMP support AFortran runtime system optimized for UltraSPARC is now also included in the pack-age The development environment consists of the following components
Workbench An integral development environment for the CC++ and Fortrancompilers for compiler control program execution debugging performance analysiscoverage etc with a Motif-based graphical user interface (GUI)
Visual Analyzer A development and migration tool for CC++ and Fortranprograms The enclosed Source Analyzer allows the static program structure and theglobal data relations to be visualized It contains a class browser cross referencesand a calling graph viewer
Parallel Analyser Consists of an integrated development environment for theOpenMP programming It contains a manager a debugger and a profiler
Fujitsu also has a Fortran 95 compiler for Linux and a highly optimized nativeFortran 95 compiler FortranVPP and HPF for its VPP supercomputers
26 Gnu Fortran 95
httpgccgnuorgwikiGFortran
httpgccgnuorgfortran
Gfortran is the name of the GNU Fortran project developing a free Fortran 952003compiler for GCC the GNU Compiler Collection The gfortran development effortuses an open development environment in order to attract a larger team of devel-opers and to ensure that gfortran can work on multiple architectures and diverseenvironments The GNU Fortran 95 project or gfortran is developing a Fortran 95compiler front end as well as runtime libraries for GCC the GNU Compiler Col-lection Gfortran development is a part of the GNU project aiming to bring freenumber crunching to all GNU system variants The gfortran development effort usesan open development environment in order to attract a larger team of developers andto ensure that gfortran can work on multiple architectures and diverse environmentsIn particular the project wishes to reach the users of the Fortran 95 language beit in the scientific community in education or in a commercial environment Todaytruly free Fortran 90 or Fortran 95 compilers do not exist We are trying to makeone available to the Fortran community
27 g95
httpwwwg95org
20 CHAPTER 2 COMPILERS
g95 is a stable production Fortran 95 compiler available for multiple cpu architec-tures and operating systems Innovations and optimizations continue to be workedon Parts of the F2003 standard have been implemented in g95
28 Hewlett Packard
The web address that describes all of the compilers and supported hardware andoperating systems is
httph21007www2hpcomdspptechtech_TechSoftwareDetailPage_IDX11703623500h
HPrsquos Fortran products are available for multiple platforms Windows Tru64 UNIXAlphaServer systems Linux AlphaServer systems and HP OpenVMS (Alpha VAX)
Visual Fortran for WindowsFortran for Linux AlphaFortran for Tru64 UNIX AlphaFortran for HP OpenVMS AlphaFortran for HP OpenVMS IntegrityFortran for HP OpenVMS VAXFortran for HP-UXThe Windows product Compaq Visual Fortran includes the Microsoft Developer
Studio IDE which can be shared with Microsoft Visual C++ Parallel execution usingOpenMP-directed decomposition or HPF is included on the Tru64 UNIX platformOn Windows NT SMP parallel execution using directed decomposition is availablethrough Visual Compaq Fortran for Linux Alpha Systems is available as a freedownload under a Technology Enthusiast license for non-commercial use All Com-paq Fortran 95 products include the Compaq Extended Math Library of optimizedscientific subroutines and the allocatable array extensions
29 IBM
httpwww-306ibmcomsoftwareawdtoolsfortran
httpwww-306ibmcomsoftwareawdtoolsfortranxlfortranfeaturesf2003html
XL Fortran Enterprise Edition for AIX XL Fortran Enterprise Edition for AIX pro-vides industry-leading code optimization and tuning features a full implementationof the OpenMP API Version 25 Symmetric Multiprocessing (SMP) APIs directmanipulation of the floating-point status and control register 64-bit enablementasynchronous IO debug memory routines and many other features
XL Fortran Advanced Edition for Blue Gene XL Fortran Advanced Edition forBlue Gene is the latest addition to our XL Fortran compiler family It expands our
210 INTEL 21
proven XL Fortarn compiler technology to exploit the capabilities of the PowerPC440 and 440d processors used in IBM Blue GeneL supercomputers
XL Fortran Advanced Edition for Linux XL Fortran Advanced Edition for Linuxsupports your choice of RHEL4 SLES9 and Y-HPC Linux distributions Advancedoptimization technology and VMX support help you create high-performance 32-bitand 64-bit applications that run efficiently on a variety of processor architecturesincluding IBMrsquos newest POWER5+ and PowerPC 970 processors and Apple PowerMac G5 and Xserve G5 systems
VS FORTRAN VS FORTRAN contains features geared to help Fortran program-mers develop applications more easily and efficiently while using the full power ofIBMrsquos large systems
The second web link has details of Fortran 2003 support
210 Intel
httpsoftwareintelcomen-usintel-compilers
Intel offers optimizing Fortran compilers for the IA-32 x64 and IA-64 (Intel Ita-nium) architectures running the Linux Mac OS X (IA-32 and x64) or Windows op-erating systems Intel Fortran is fully compliant with Fortran 95 and supports mostof Fortran 2003 as well as many popular extensions The compiler offers automaticparallelization and vectorization and supports OpenMP 30 as well as generatingoptimized code for the latest Intel processors and compatible non-Intel processors
On all platforms the Intel Fortran compiler includes the Intel Math Kernel Li-brary a library of highly optimized extensively threaded math routines for scienceengineering and financial applications The IMSL Fortran Numeric Library 60 fromVisual Numerics is an option on Windows
On Windows the compiler integrates into Microsoft Visual Studio 2003 2005 or2008 and includes a self-sufficient Fortran development environment based on Mi-crosoft Visual Studio 2008 The Windows compiler also provides mechanisms tointerface Fortran code with the Microsoft COM and NET environments Academicand student pricing is available
211 LaheyFujitsu
httpwwwlaheycom
LaheyFujitsu Fortran 95 is produced by the LaheyFujitsu alliance LF95 is avail-able in three Windows configurations Express Standard and PRO and two Linuxconfigurations Express and PRO All configurations feature VAX IBM and POSIXlanguage extensions allocatable array enhancements etc The Windows and LinuxExpress version is command line only and features the compiler linker and debug-ger PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-
22 CHAPTER 2 COMPILERS
TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creatingtrue Windows programs with Fortran and a Coverage Analysis Tool that detects un-executed code and performs range of operation checking The PRO is compatible withVisual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 Math Libraryand Visual Analyzer (see below) The PRO Linux version offers auto-parallelizationOpenMP compatibility thread-safe BLAS and LAPACK WiSK AUTOMAKE andFujitsus SSL2 All products come with free technical support and are available at Also available is a subset compiler elf90
It would appear that the Windows version is no longer under active developmentThe last update was dated December 2004
212 NAG
httpwwwnagcouknagwareasp
The NAG Fortran Compiler derived from the worldrsquos first Fortran 90 Compilerfrom NAG is robust highly tested and valued by developers all over the globe forits checking capabilities and detailed error reporting Available on a wide range ofUnix and Windows platforms it accepts fixed or free format Fortran 95 input andmany common Fortran 77 extensions are allowed A large number of Fortran 2003language features are now available HPF code is also compiled and checked thoughonly single processor output is generated The 53 release supports a good workingsubset of OpenMP 3
The following versions are availableApple Intel Mac64 Release 53 gcc 42HP PA-RISC 11 Release 51 HP ANSI CIBM Power AIX Release 51 AIX XL C 60IBM Z9 Linux Release 51 gcc 346IBM Z9 Open Edition Release 52 IBM CLinux x86-32 Release 53 gcc 322Linux64 Release 53 gcc 412Sun SPARC Solaris Release 52 gcc 342Sun SPARC Solaris Release 52 Sun C v 55x86 and x86-64 Windows Release 53An integrated Fortran IDE is also available for Windows
httpwwwnagcouknagwarenpfortranbuilderasp
213 NEC
httpwwwneccom
214 ORACLE - ORIGINALLY SUN 23
NEC has a native optimizing Fortran 95 compiler FORTRAN90SX with anautomatic vectorization and parallelization capability for its supercomputer SX se-ries HPFSX V2 provides functions conforming to the specification of HPF11 andHPF20 and can be used with vector processing functions in SX Fortran and withparallel processing functions using microtasking
214 Oracle - originally Sun
httpwwworaclecomussunindexhtm
httpwwwsuncom
httpdeveloperssuncomsunstudio
httpdeveloperssuncomsunstudiodownloadsexpress
Sun Studio software delivers high-performance optimizing C C++ and Fortrancompilers for the Solaris OS on SPARC and both Solaris and Linux on x86x64platforms including the latest multi-core systems
Whatrsquos in Sun StudioAll Compilers - Specify 32-bit or 64-bit Address Model Auto-parallelization of
single-threaded code Flags Static data-race and deadlock-detection for x86 Mathand Visual Instruction Set Support in SPARC64 VI Option for Floating-Point Fusedor Multiply-Add Instructions Option for Thread Analyzer support Linux SupportOpenMP and OpenMPI suport Support for the directives clauses and attributes
Fortran Compiler - Interval arithmetic support on Solaris Intel platform Fastercompilation time for source files UNSIGNED arguments Backward compatibilitywith f77
C Compiler - More options Auto-parallelization of single-threaded code GNU Ccompatibility
C++ Compiler - More options ABI compatibility Compiler flags to optimize formulticore architectures Static linking the standard C++ runtime library
215 PathScale
httpwwwpathscalecomproductspathscale_compiler_suite
PathScalersquos goal is to make it easier to develop and deploy 64-bit applications intoclustered environments PathScale has developed the industryrsquos highest-performanceC C++ and Fortran 9X compilers for 64-bit Linux-based computer systems ThePathScale Compiler Suite shares its heritage with the well-known and mature SGIcompiler suite The PathScale Compiler Suite has been optimized for both the
24 CHAPTER 2 COMPILERS
AMD64 and EM64T architectures and has the worldrsquos most sophisticated optimiza-tion infrastructure
Unlike other compilers the PathScale Compiler Suite provides superior perfor-mance across both floating-point and integer-intensive applications Application de-velopers targeting 64-bit Linux servers will see immediate performance benefits fromcompiling with the PathScale compilers
The PathScale Compiler Suite includesC C++ and Fortran 779095 compilers Industry leading optimizations Com-
plete support for OpenMP 20 (including WORKSHARE) Complete support for 64-bit and 32-bit x86 compilation Code generation for AMD64 ABI AMD Opteronand Intel EM64T PathScale optimized AMD Core Math Library (available for down-load) Advanced serial debugger PathDB Compatible with GNUgcc tool chain andpopular Third Party debuggers Supported on SUSE RedHat and Fedora Linux Thecurrently shipping version of the PathScale Compiler Suite is
216 PGI
httpwwwpgroupcom
High-performance Optimizing Parallel Compilers For multi-core 64-bit x64 and 32-bit x86 processor-based Linux Mac OS X and Windows workstations servers andclusters PGI Workstation includes a single seat license for PGIrsquos suite of compilersand tools Also available with a multi-user network floating license (PGI Server)The PGI CDK Cluster Development Kit includes all the software for building andprogramming a turn-key Linux cluster PGI Visual Fortran fully integrates PGIparallel Fortran into Microsoft Windows using Microsoft Visual Studio 2005
217 Silverfrost nee Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
Salford Software markets FTN95 a Fortran 95 compiler for Win32 running onWindows 95NT2000XP PCs It has announced its Fortran 95 compiler for Mi-crosoft NET (FTN95 for NET) This compiler will produce fast executables fromsource files that may be any combination of Fortran 77 Fortran 90 and Fortran 95FTN95 for NET including integrated Help and Debugger is supplied bundled withFTN95 for Win32 and optionally with Microsoft Visual Studio for NET A low-costfully-featured personal edition is also available
218 SGI
httpwwwsgicomproductssoftwareirixtoolsfortranhtml
219 SUN - SEE ORACLE 25
MIPSpro Fortran Compilers This 64-bit ANSI Fortran 77 compiler is ideal forsystems running IRIX 6x It is compatible with VAXVMS Fortran and supportsCray extensions The 74 version of the MIPSpro Fortran 77 and Fortran 90 compilersnow support the OpenMP 20 standard Among the new features introduced in theOpenMP 20 specification are
WORKSHARE directive COPYPRIVATE clause for the broadcast of sequentialreads Portable timing routines MIPSpro Fortran 90 Compiler A 64 bit ANSI Fortran90 compiler with additional support for user-defined multiprocessing directives forsystems running IRIX 6x Compatible with VAXVMS Fortran and supports Crayextensions With the release of version 74 Fortran 90 specific support under theOpenMP 20 standard are
Parallelization of F90 array syntax via the WORKSHARE directive Privatizationof deferred shape and assumed shape objects The full Fortran 20 specification canobtained from the OpenMP Web site at httpwwwopenmporg
For more information read about the MIPSpro compilers
219 Sun - see Oracle
220 No longer available
2201 Apogee
httpwwwapogeecom
Features of the FORTRAN 7790 CompilerNo longer available Originally available for the SolarisSPARC platforms the
compiler conforms to Sunrsquos Solaris ABI and produces assembler code files acceptableto Sunrsquos Solaris assembler When used in the FORTRAN 77 compilation modethe compiler is compliant with the MIL-STD 1753 FORTRAN 77 and accepts mostFORTRAN 77 extensions of Sun IBM and other F77 compilers The supportedF77 extensions include structures length qualification on types additional data andconstant types initializations in type statements additional statements (END DODO WHILE POINTER VOLATILE etc) computations with aggregates namelist-directed IOs and debugging statements
When used in the Fortran 90 mode the compiler is compliant with the ANSIISOFortran 90 standard
2202 Compaq
This compiler is no longer under development This ceased when Intel bought outthe technology from HP Still widely used with legacy software Copies for sale canbe found on Ebay and similar vites
26 CHAPTER 2 COMPILERS
2203 EPC
Edinburgh Portable Compilers was an early vendor to produce a Fortran 90 compila-tion system A report by Adam Marshall from Liverpool University has a comparisionof several early Fortran 90 compilers It can be found at the address below
httpwwwlivacukHPCFortranCompilerStudyHTMLFortranCompilerStudyHTMLhtml
2204 NA Software
httpwwwnasoftwarecoukhomehtml
No longer available
Chapter 3
Fortran aware editors and IDEs
bull Version 15 October 2011 Updated photran entry
bull Version 14 July 2010 Added SunStudio Express entry
bull Version 131 April 2006 Added Windows Zeus entry
31 Windows
311 Absoft Editor (ae)
httpwwwabsoftcom
312 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
313 compaq visual fortran 6x
Nolongeravailable
314 editeur
wwwstudiowarecom
315 emacsxemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
316 emacsxemacs - cygwin components
httpwwwcygwincom
28 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
317 gvimvim - stand alone
httpwwwvimorg
318 gvimvim - cygwin component
httpwwwcygwincom
319 jed wjed (Windows)
httpwwwjedsoftorgjed
3110 lahey ed
httpwwwlaheycom
3111 microsoft visual studio 6
No longer available
3112 Microsoft Visual StudioNET
There are a number of vendors that have provided integration with Microsoft VisualStudio NET These include
Intel Visual Fortranwwwintelcom
LaheyFujitsu Fortranwwwlaheycom
Silverfrost Salford FTN95httpwwwsilverfrostcom11ftn95overviewasp
3113 nedit - cygwin
httpwwwneditorg
3114 ntemacs
httpwwwgnuorgsoftwareemacswindowsntemacshtml
3115 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
32 LINUXUNIX 29
3116 salford plato
httpwwwsilverfrostcom11ftn95overviewasp
3117 Oracle Solaris Studio Express
httpdeveloperssuncomsunstudiodownloadsexpress
3118 UltraEdit
wwwultraeditcom
3119 xemacsemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
3120 xemacsemacs - cygwin components
httpwwwcygwincom
3121 Zeus ide
httpwwwzeuseditcomfortranhtml
32 LinuxUnix
321 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
322 emacsxemacs
httpwwwgnuorgsoftwareemacsemacshtml
323 jed xjed (Unix(all flavours)OpenVMS) wjed (Win-dows)
httpwwwjedsoftorgjed
324 nedit
httpwwwneditorg
30 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
325 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
33 Apple OS X
331 Absoft Editor
httpwwwabsoftcom
332 BBEdit
httpwwwapplecomdownloadsmacosxproductivity_toolsbbedithtml
httpwwwbarebonescomproductsbbeditindexshtml
333 emacsxemacs
pre-installed
334 Photran
wwwphotranorg
335 Smultron
httpsmultronsourceforgenet
336 TextMate
httpmacromatescom
337 TextWrangler
httpwwwapplecomdownloadsmacosxproductivity_toolstextwranglerhtml
httpwwwbarebonescomproductstextwranglerindexshtml
338 Vim
Pre-installed
33 APPLE OS X 31
339 Xcode
httpdeveloperapplecom
3310 xemacsemacs
pre-installed
32 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
Chapter 4
Commercial Courses
bull Version 14 August 2012 Updated several entries
bull Version 13 November 2011 Notified by Shaun Forth at Cranfield of theirchanges Also added the HECToR entries
bull Version 12 August 2010
bull Version 11 September 2008
bull Version 10 January 2006
41 Ian Chivers and Jane Sleightholme
Ian Chivers and Jane Sleightholme are available to do tailored on site courses Coursesinclude
bull Introduction to Modern Programming in Fortran
bull Advanced Features of Modern Fortran
See
httpwwwfortranpluscouk
42 Cranfield University
Cranfield University offers four Fortran programming courses
bull Introduction to Programming in Fortran 95 and 2003 (3 days)
bull Advanced Programming in Fortran 95 and 2003 (3 days)
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
Chapter 1
Books
bull Version 17 August 2012 Added Section 11 Chivers Added Section 11 Mar-cus
bull Version 16 January 2012 Added Section 15 Chivers
bull Version 15 October 2011 Added Section 11 Chivers Added Section 11 Cler-man Added Section 11 Gnu Fortran Added Section 11 Rouson Added Section12 Lakshmivarahan
bull Version 14 July 2010 Added Section 11 Brainerd Added Section 11 McCor-mmack Added Section 11 Ray Added Section 12 Rajaram Added Section13 Barlow et al Added Section 14 Chandra et al Added Section 14 Chapmanet al
bull Version 13 June 2009 Removed invalid web address in Morgan and Schonfelderentry Corrected spelling in Chinese entry
bull Version 12 September 2008 Added Section 11 Adams et al Added Section110 Ciaburro
bull Version 11 September 2007 Added Section 11 Chapman Added Section 12Lemmon
11 Fortran 2003 and 2008 - English
bull Adams JC Brainerd WS Hendrickson RA Maine RE Martin JTSmith BT The Fortran 2003 Handbook The Complete Syntax Features andProcedures 2008 Springer Verlag ISBN 978-1-84628-378-9
bull Brainerd WS Guide to Fortran 2003 Programming 2009 Springer VerlagISBN 978-1-84882-542-0
bull Chapman SJ Fortran 952003 For Scientists and Engineers 2007 McGraw-Hill ISBN 978-0073191577 ISBN 0073191574
10 CHAPTER 1 BOOKS
bull Chivers ID Sleightholme J Introduction to Programming with Fortran Withcoverage of Fortran 90 95 2003 2008 and 77 2012 Springer Verlag ISBN-100857292323 ISBN-13 978-0857292322 Second Edition
bull Chivers ID Sleightholme J Introduction to Programming with Fortran Withcoverage of Fortran 90 95 2003 and 77 2006 Springer Verlag ISBN 1-84628-053-2 First Edition
bull Clerman NS Spector W Modern Fortran Style and Usage Cambridge Uni-versity Press 2011 ISBN-10 052173052X ISBN-13 978-0521730525
bull Gnu Fortran Team Using Gnu Fortran Manual For Gcc Version 433 Cre-ateSpace ISBN-10 1441412662 ISBN-13 978-1441412669 2009
bull McCormack D Scientific Software Development with Fortran 2009 ISBN 978-1-4452-5445-6
bull Metcalf M Reid J and Cohen M Fortran 952003 Explained 2004 OxfordUniversity Press ISBN 0-19-852693-8 ISBN 0-19-852692-X
bull Marcus A Modern Fortran in Practice 2012 Cambridge University PressISBN-10 1107017904 ISBN-13 978-1107017900
bull Ray S A Textbook on Fortran 2003 2009 Alpha Science International ISBN978-1-84265-479-8
bull Rouson D Xia J Xu X Scientific Software Design The Object-OrientedWay Cambridge University Press 2011 ISBN-10 0521888131 ISBN-13 978-0521888134
12 Fortran 95 - English
bull Adams JC Brainerd WS Martin JT Smith BT and Wagener JL Fortran95 Handbook 1997 MIT ISBN 0-262-51096-0
bull Adams JC Brainerd WS Martin JTand Smith BT Fortran Top 95 NinetyFive Key Features of Fortran 95 $10 The book is only available in PDF formfrom the Fortran Store httpwwwfortrancom
bull Akin E Object Oriented Programming via Fortran 9095 2003 CambridgeUniversity Press ISBN 0-521-52408-3
bull Chapman S J Fortran 9095 for Scientists and Engineers 2004 McGraw HillISBN 0-07-282575-8
bull Chapman SJ Introduction to Fortran 9095 1997 McGraw-Hill 1997 ISBN0-07-011969-4
13 FORTRAN 90 - ENGLISH 11
bull Chivers ID Sleightholme J Introducing Fortran 95 2000 Springer VerlagISBN 185233276X
bull Counihan M Fortran 95 1997 UCL ISBN 185728367-8
bull Etzel M Dickinson K Digital Visual Fortran 90 Programmerrsquos Guide 1999Digital Press ISBN 1-55558-218-4
bull Gehrke Fortran 95 Language Guide 1996 Springer ISBN 3-540-76062-8
bull Lakshmivarahan S Sudarshan K Dhall Programming in Fortran 9095 Pub-lisher Pearson Custom Publishing (2002) ASIN B000XM3WZ0
bull Lawrence N Compaq Visual Fortran A Guide to Creating Windows Applica-tions 2001 Digital Press ISBN 1-55558-249-4
bull Lemmon DRSchafer JL Developing Statistical Software in Fortran 95 2005Springer ISBN-10 0387238174 ISBN-13 978-0387238173
bull Metcalf M Reid J Fortran 9095 Explained 1999 Oxford University PressISBN 0-19-850558-2
bull Morgan amp Schonfelder Programming in Fortran 9095 available in AcrobatPDF format from httpwwwfortrancom
bull Rajaram V Computer Programming in Fortran 90 and 95 2004 Prentice HallISBN 978-8120311817
bull Vowels R Introduction to Fortran 9095 Algorithms and Structured Pro-gramming Part 1 Introduction to Fortran 90 Part 2 Algorithms and Fortran90 ISBN 0-9596384-8-2
13 Fortran 90 - English
bull Barlow RJ Barnett AR Computing for Scientists Principles of Program-ming with Fortran 90 and C++ 1998 Wiley Blackwell ISBN 978-0471955962
bull Adams Brainerd Martin Smith and Wagener Fortran 90 Handbook 1992McGraw Hill ISBN 0-07-000406-4
bull Brainerd Goldberg and Adams Programmers Guide to Fortran 90 1996Springer ISBN 0-387-94570-9
bull Brainerd Goldberg and Adams Programmers Guide to Fortran 90 1994 Uni-comp ISBN 0-07-000248-7
bull Brooks Problem solving with Fortran 90 for scientists and engineers 1997Springer ISBN 0-387-98229-9
12 CHAPTER 1 BOOKS
bull Chivers ID Sleightholme J Introducing Fortran 90 1995 Springer ISBN3-540-19940-3
bull Ellis Philips Lahey Fortran 90 Programming 1994 Addison Wesley ISBN0-201-54446-6
bull Etter Fortran 90 for Engineers 1995 BenjaminCummings ISBN 0-201544-46-6
bull Gehrke Fortran 90 Language Guide 1996 Springer ISBN 3-540-19926-8
bull Hahn DB Fortran 90 for Scientists and Engineers 1994 Edward Arnold ISBN0-340-60034-9
bull Huddleston Fortran 90 1996 Exchange Publ Div ISBN 0-945261-07-1
bull Kerrigan JF Migrating to Fortran 90 1993 OrsquoReilly ISBN 1-56592-049-X
bull Meissner LP Fortran 90 1995 PWS Kent ISBN 0-534-93372-6
bull Metcalf M Reid J Fortran 90 Explained 1990 Oxford University Press ISBN0-19-853772-7
bull Morgan amp Schonfelder Programming in Fortran 90 1993 Alfe4d Waller ISBN1-872474-06-3
bull Nyhoff Leestma Fortran 90 for Engineers and Scientists1 1996 PrenticeHall ISBN 0-13-519729-5
bull Nyhoff Leestma An introduction to Fortran 90 for Engineers and Scientists1996 Prentice Hall ISBN 0-13-505215-7
bull Redwine Upgrading to Fortran 90 1995 Springer-Verlag ISBN 0-387-97995-6
bull Schick Silverman Fortran 90 and Engineering Computation 1994 JohnWiley ISBN 0-471-58512-2
bull Smith IM Programming in Fortran 90 Wiley ISBN 0471-94185-9
bull Wagener Fortran 90 Concise Reference 1998 Absoft ISBN 0-9670066-0-0
14 English books on related topics
bull Advanced Scientific Computing - Wille Wiley 1995 ISBN 0471-95383-0
bull Atlas for Computing Mathematical Functions in Fortran 90 and Mathematica- Thompson Wiley 1997 0-471-18171-4
15 CHINESE 13
bull Contemporary Computing for Technical Engineers and Scientists using Fortran90 and spreadsheets - Forsythe PWS 1997 0-534-93139-1
bull Numerical Recipes in Fortran 90 The Art of Parallel Scientific ComputingVolume 2 of Fortran Numerical Recipes - Press Teukolsky Vetterling and Flan-nery Cambridge U Press ISBN 0-521-57439-0 1996 Code can be downloaded(purchased) from httpwwwnrcom A CDROM is also available (see Website)
15 Chinese
bull Introduction to Programming with Fortran with coverage of Fortran 90 952003 and 77 Ian Chivers and Jane Sleightholme Posts and Telecom Pressand Springer-Verlag London 2009 ISBN 978-7-115-21227-6 (A translation ofIntroduction to Programming in Fortran)
bull Programming Language Fortran 90 - He Xingui Xu Zuyuan Wu Qingbao andChen Ming yuan China Railway Publishing House Beijing ISBN 7-113-01788-6TP187 1994
bull Fortran 90 - Walter S Brainerd Charles H Goldberg Jeanne C Adams CHEPBeijing and Springer Berlin 2000 ISBN 7-04-007937-2 (a translation of Pro-grammerrsquos Guide to Fortran 90)
16 Dutch
bull Fortran 90 - WS Brainerd ChH Goldberg and JC Adams translated byJM den Haan Academic Service 1991 ISBN 90 6233 722 8
17 Finnish
bull Fortran 9095 - Juha Haataja Jussi Rahola and Juha Ruokolainen Center forScientific Computing (Finland) 2001 339 pages 3rd edition ISBN 952-9821-60-3 WWW version httpwwwcscfioppaatf95
18 French
bull Fortran 90 Approche par la Pratique - P Lignelet Srie Informatique ditionsMenton 1993 ISBN 2-909615-01-4
bull Fortran 90 Les concepts fondamentaux the translation of Fortran 90 Ex-plained M Metcalf J Reid translated by M Caillat and B Pichon AFNOR1993 Paris ISBN 2-12-486513-7
14 CHAPTER 1 BOOKS
bull Fortran 90 Initiation partir du Fortran 77 - Aberti Srie Informatique ditionsMenton 1992 ISBN 2-909615-00-6
bull Les spcificits du Fortran 90 M Dubesset et J Vignes ditions Technip 1993 ISBN 2-7108-0652-5
bull Manuel complet du langage Fortran 90 et guide dapplication P Lignelet SrieInformatique ditions 1995 ISBN 2-909615-02-2
bull Manuel Complet du Langage Fortran 90 et Fortran 95 Calcul intensif et GnieLogiciel P Lignelet Masson ditions Paris 1996 ISBN 2-225-85229-4
bull Programmer en Fortran 90 C Delannoy Eyrolles 1992 ISBN 2-212-08723-3
bull Traitement des donnes numriques avec Fortran 90 M Olagnon Masson ditions1996 ISBN 2-225-85259-6
bull Structures des donnes (et leurs algorithmes) en Fortran 9095 P LigneletMasson ditions Paris ISBN 2-225-85373-8
19 German
bull Fortran 90 Lehrbuch D Rabenstein Hanser 1995 ISBN 3-446-18235-7
bull Die Programmiersprache F W Gehrke Springer-Verlag ISBN 3-540-63376-6
bull Fortran 90 - BWojcieszynski and RWojcieszynski Addison-Wesley 1993 ISBN3-89319-600-5
bull Fortran 90 eine informelle Einfhrung M Heisterkamp BI-Wissenschaftsverlag1991 ISBN 3-411-15321-0
bull Fortran 90 Kurs technisch orientiert - G Schmitt Oldenbourg 1996 ISBN3-486-23896-5
bull Fortran 90 Lehr- und Arbeitsbuch fr das erfolgreiche Programmieren WSBrainerd CH Goldberg and JC Adams translated by Peter Thomas andKlaus G Paul R Olbenbourg Verlag Muenchen 1994 ISBN 3-486-22102-7
bull Fortran 90 Lehr- und Handbuch - T Michel BI-Wissenschaftsverlag 1994
bull Fortran 90 Referenz-Handbuch der neue Fortran-Standard W Gehrke CarlHansen Verlag 1991 ISBN3-446-16321-2
bull Programmierung in Fortran 90 - Schobert Oldenburg 1991
bull Programmierung mit Fortran 90 - Bumer Vieweg Braunschweig 1997 ISBN3-528-05208-2
110 ITALIAN 15
bull Programmieren in Fortran - Erasmus Langer Springer-Verlag Wien New York1993 ISBN 3-211-82446-4 0-387-82446-4
bull Software Entwicklung in Fortran 90 - berhuber and Meditz Springer Verlag1993 ISBN 0-387-82450-2
110 Italian
bull Some resources in Italian including a manual are at
httpspacetinitcomputergciabu
bull Programmare con Fortran G Ciaburro FAG 2008 ISBN 9788882336882
wwwciaburroitf90librohtm
httpwwwibsitcode9788882336882ciaburro-giuseppeprogrammare-con-fortranhtml
111 Japanese
bull Fortran 90 Explained - Metcalf and Reid translated by H Nisimura H WadaK Nishimura M Takata Kyoritsu Shuppan Co Ltd 1993 ISSN 0385-6984
112 Russian
bull An Explanation of the Fortran 90 Programming Language (translation of For-tran 90 Explained - Metcalf and Reid) translated P Gorbounov Mir Moscow1995 ISBN 5-03-001426-8 Available also from PetrGorbounovcernch
bull FORTRAN 77 to Fortran 90 Tutorial - Einarsson and Shokin Russian Academyof Sciences Novosibirsk 1995 ISBN 5-85826-013-6
113 Swedish
bull Fortran 90 - en introduktion - Blom Studentlitteratur Lund 1994 ISBN 91-44-47881-X
16 CHAPTER 1 BOOKS
Chapter 2
Compilers
bull Version 110 August 2012 Updated Nag entry 53 release supports openMPAlso updated product availability entry
bull Version 19 November 2010 Updated Absoft in response to an email fromWood Lotz
bull Version 18 July 2010 Updated Sun to reflect takeover by Oracle UpdatedSalford to reflect Silverfrost rebranding
bull Version 17 June 2009 Updated the Cray and Intel entries Added a newsection on compilers that are no longer available This has involved moving theentries on Apogee Compaq and NA Software into this section For historicalcompleteness wersquove also added an entry for EPC to this section
bull Version 16 September 2008 Updated the NAG entry with more details of theFortran Builder IDE
bull Version 15 September 2007 Updated Absoft Entry Compaq Fortran Com-pany Fujitsu Gnu Fortran 95 G95 IBM Intel LaheyFujitsu NAG NASoftware NEC Pathscale PGI SalfordSilverfrost SGI Sun
21 Introduction
The following is a list of companies and organisations that provide Fortran compilersthat conform to the Fortran 90 95 2003 and 2008 standards Fortran Forum hasa more or less standing table on compilers that support features from the 2003 and2008 standards The gfortran g95 and Sun compilers are free for Linux and gfortranand g95 are free for Windows
22 Absoft
httpwwwabsoftcom
18 CHAPTER 2 COMPILERS
Absoft Pro Fortran is a complete tool suite designed to automate building par-allel code on Linux Windows or Mac OSIntel Absoft Rolls are also available forx64Linux Compilers are full F95 include all popular legacy extensions many fromF2003 and are fully link and debug compatible with the host (Linux Microsoft MacOS) tool chain Compilers offer automatic parallelization vectorization OpenMP 30GPU support and Absoft application performance is consistently rated 1 on AMDand Intel systems by third party benchmarks IDE includes SMP graphical analyzerFx3 graphical multi-language debugger programmers editor several Fortran specificfeatures OpenMP and MPI controls math libraries VAXUnix libraries and 2D3Dgraphics Same look feel and functionality on all systems Nothing else to buy orlearn IMSL numerical libraries are a bundle option on all platforms
23 Cray
httpwwwcraycom
Cray has a fully optimizing Fortran 2003 compiler available for the Cray XT seriessystems This compiler also supports OpenMP and several Fortran 2008 featuresincluding submodules and coarrays
Cray has a fully-optimizing Fortran 95 compiler available for the Cray PVP (J90SV1) T3E and X1 systems The PVP compiler supports automatic parallization andOpenMP The T3E compiler supports coarrays The X1 compiler supports automaticstreaming OpenMP coarrays and many Fortran 2003 featuresrdquo
24 Fortran Company
httpwwwfortrancom
The Fortran Company offers F the subset language for Unix and Windows somein highly optimizing versions All of the full professional versions of the F compilerare available free by downloading them from the F anonymous ftp directory
The Fortran Tools include a Fortran 95 compiler with a graphical user interfacethat runs on Linux or Windows on a CD The CD also includes several Fortran booksin PDF format and many tools such as Matran a matrix computation library thatuses the highly tuned Atlas libraries a plotting package and a library of routines tocreate GUIs for your Fortran application programs
25 Fujitsu
httpwwwfujitsucomglobal
26 GNU FORTRAN 95 19
Fortran 95 (Solaris) A powerful updated development system used for FORTRANproductive applications Current version Sun Studio 9
The ISO Fortran 95 Standard is fully supported additionally there are enhance-ments for Fortran77 such as pointersstructures binaryoctalhexadecimal constantsetc High optimization includes automatic parallelization and OpenMP support AFortran runtime system optimized for UltraSPARC is now also included in the pack-age The development environment consists of the following components
Workbench An integral development environment for the CC++ and Fortrancompilers for compiler control program execution debugging performance analysiscoverage etc with a Motif-based graphical user interface (GUI)
Visual Analyzer A development and migration tool for CC++ and Fortranprograms The enclosed Source Analyzer allows the static program structure and theglobal data relations to be visualized It contains a class browser cross referencesand a calling graph viewer
Parallel Analyser Consists of an integrated development environment for theOpenMP programming It contains a manager a debugger and a profiler
Fujitsu also has a Fortran 95 compiler for Linux and a highly optimized nativeFortran 95 compiler FortranVPP and HPF for its VPP supercomputers
26 Gnu Fortran 95
httpgccgnuorgwikiGFortran
httpgccgnuorgfortran
Gfortran is the name of the GNU Fortran project developing a free Fortran 952003compiler for GCC the GNU Compiler Collection The gfortran development effortuses an open development environment in order to attract a larger team of devel-opers and to ensure that gfortran can work on multiple architectures and diverseenvironments The GNU Fortran 95 project or gfortran is developing a Fortran 95compiler front end as well as runtime libraries for GCC the GNU Compiler Col-lection Gfortran development is a part of the GNU project aiming to bring freenumber crunching to all GNU system variants The gfortran development effort usesan open development environment in order to attract a larger team of developers andto ensure that gfortran can work on multiple architectures and diverse environmentsIn particular the project wishes to reach the users of the Fortran 95 language beit in the scientific community in education or in a commercial environment Todaytruly free Fortran 90 or Fortran 95 compilers do not exist We are trying to makeone available to the Fortran community
27 g95
httpwwwg95org
20 CHAPTER 2 COMPILERS
g95 is a stable production Fortran 95 compiler available for multiple cpu architec-tures and operating systems Innovations and optimizations continue to be workedon Parts of the F2003 standard have been implemented in g95
28 Hewlett Packard
The web address that describes all of the compilers and supported hardware andoperating systems is
httph21007www2hpcomdspptechtech_TechSoftwareDetailPage_IDX11703623500h
HPrsquos Fortran products are available for multiple platforms Windows Tru64 UNIXAlphaServer systems Linux AlphaServer systems and HP OpenVMS (Alpha VAX)
Visual Fortran for WindowsFortran for Linux AlphaFortran for Tru64 UNIX AlphaFortran for HP OpenVMS AlphaFortran for HP OpenVMS IntegrityFortran for HP OpenVMS VAXFortran for HP-UXThe Windows product Compaq Visual Fortran includes the Microsoft Developer
Studio IDE which can be shared with Microsoft Visual C++ Parallel execution usingOpenMP-directed decomposition or HPF is included on the Tru64 UNIX platformOn Windows NT SMP parallel execution using directed decomposition is availablethrough Visual Compaq Fortran for Linux Alpha Systems is available as a freedownload under a Technology Enthusiast license for non-commercial use All Com-paq Fortran 95 products include the Compaq Extended Math Library of optimizedscientific subroutines and the allocatable array extensions
29 IBM
httpwww-306ibmcomsoftwareawdtoolsfortran
httpwww-306ibmcomsoftwareawdtoolsfortranxlfortranfeaturesf2003html
XL Fortran Enterprise Edition for AIX XL Fortran Enterprise Edition for AIX pro-vides industry-leading code optimization and tuning features a full implementationof the OpenMP API Version 25 Symmetric Multiprocessing (SMP) APIs directmanipulation of the floating-point status and control register 64-bit enablementasynchronous IO debug memory routines and many other features
XL Fortran Advanced Edition for Blue Gene XL Fortran Advanced Edition forBlue Gene is the latest addition to our XL Fortran compiler family It expands our
210 INTEL 21
proven XL Fortarn compiler technology to exploit the capabilities of the PowerPC440 and 440d processors used in IBM Blue GeneL supercomputers
XL Fortran Advanced Edition for Linux XL Fortran Advanced Edition for Linuxsupports your choice of RHEL4 SLES9 and Y-HPC Linux distributions Advancedoptimization technology and VMX support help you create high-performance 32-bitand 64-bit applications that run efficiently on a variety of processor architecturesincluding IBMrsquos newest POWER5+ and PowerPC 970 processors and Apple PowerMac G5 and Xserve G5 systems
VS FORTRAN VS FORTRAN contains features geared to help Fortran program-mers develop applications more easily and efficiently while using the full power ofIBMrsquos large systems
The second web link has details of Fortran 2003 support
210 Intel
httpsoftwareintelcomen-usintel-compilers
Intel offers optimizing Fortran compilers for the IA-32 x64 and IA-64 (Intel Ita-nium) architectures running the Linux Mac OS X (IA-32 and x64) or Windows op-erating systems Intel Fortran is fully compliant with Fortran 95 and supports mostof Fortran 2003 as well as many popular extensions The compiler offers automaticparallelization and vectorization and supports OpenMP 30 as well as generatingoptimized code for the latest Intel processors and compatible non-Intel processors
On all platforms the Intel Fortran compiler includes the Intel Math Kernel Li-brary a library of highly optimized extensively threaded math routines for scienceengineering and financial applications The IMSL Fortran Numeric Library 60 fromVisual Numerics is an option on Windows
On Windows the compiler integrates into Microsoft Visual Studio 2003 2005 or2008 and includes a self-sufficient Fortran development environment based on Mi-crosoft Visual Studio 2008 The Windows compiler also provides mechanisms tointerface Fortran code with the Microsoft COM and NET environments Academicand student pricing is available
211 LaheyFujitsu
httpwwwlaheycom
LaheyFujitsu Fortran 95 is produced by the LaheyFujitsu alliance LF95 is avail-able in three Windows configurations Express Standard and PRO and two Linuxconfigurations Express and PRO All configurations feature VAX IBM and POSIXlanguage extensions allocatable array enhancements etc The Windows and LinuxExpress version is command line only and features the compiler linker and debug-ger PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-
22 CHAPTER 2 COMPILERS
TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creatingtrue Windows programs with Fortran and a Coverage Analysis Tool that detects un-executed code and performs range of operation checking The PRO is compatible withVisual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 Math Libraryand Visual Analyzer (see below) The PRO Linux version offers auto-parallelizationOpenMP compatibility thread-safe BLAS and LAPACK WiSK AUTOMAKE andFujitsus SSL2 All products come with free technical support and are available at Also available is a subset compiler elf90
It would appear that the Windows version is no longer under active developmentThe last update was dated December 2004
212 NAG
httpwwwnagcouknagwareasp
The NAG Fortran Compiler derived from the worldrsquos first Fortran 90 Compilerfrom NAG is robust highly tested and valued by developers all over the globe forits checking capabilities and detailed error reporting Available on a wide range ofUnix and Windows platforms it accepts fixed or free format Fortran 95 input andmany common Fortran 77 extensions are allowed A large number of Fortran 2003language features are now available HPF code is also compiled and checked thoughonly single processor output is generated The 53 release supports a good workingsubset of OpenMP 3
The following versions are availableApple Intel Mac64 Release 53 gcc 42HP PA-RISC 11 Release 51 HP ANSI CIBM Power AIX Release 51 AIX XL C 60IBM Z9 Linux Release 51 gcc 346IBM Z9 Open Edition Release 52 IBM CLinux x86-32 Release 53 gcc 322Linux64 Release 53 gcc 412Sun SPARC Solaris Release 52 gcc 342Sun SPARC Solaris Release 52 Sun C v 55x86 and x86-64 Windows Release 53An integrated Fortran IDE is also available for Windows
httpwwwnagcouknagwarenpfortranbuilderasp
213 NEC
httpwwwneccom
214 ORACLE - ORIGINALLY SUN 23
NEC has a native optimizing Fortran 95 compiler FORTRAN90SX with anautomatic vectorization and parallelization capability for its supercomputer SX se-ries HPFSX V2 provides functions conforming to the specification of HPF11 andHPF20 and can be used with vector processing functions in SX Fortran and withparallel processing functions using microtasking
214 Oracle - originally Sun
httpwwworaclecomussunindexhtm
httpwwwsuncom
httpdeveloperssuncomsunstudio
httpdeveloperssuncomsunstudiodownloadsexpress
Sun Studio software delivers high-performance optimizing C C++ and Fortrancompilers for the Solaris OS on SPARC and both Solaris and Linux on x86x64platforms including the latest multi-core systems
Whatrsquos in Sun StudioAll Compilers - Specify 32-bit or 64-bit Address Model Auto-parallelization of
single-threaded code Flags Static data-race and deadlock-detection for x86 Mathand Visual Instruction Set Support in SPARC64 VI Option for Floating-Point Fusedor Multiply-Add Instructions Option for Thread Analyzer support Linux SupportOpenMP and OpenMPI suport Support for the directives clauses and attributes
Fortran Compiler - Interval arithmetic support on Solaris Intel platform Fastercompilation time for source files UNSIGNED arguments Backward compatibilitywith f77
C Compiler - More options Auto-parallelization of single-threaded code GNU Ccompatibility
C++ Compiler - More options ABI compatibility Compiler flags to optimize formulticore architectures Static linking the standard C++ runtime library
215 PathScale
httpwwwpathscalecomproductspathscale_compiler_suite
PathScalersquos goal is to make it easier to develop and deploy 64-bit applications intoclustered environments PathScale has developed the industryrsquos highest-performanceC C++ and Fortran 9X compilers for 64-bit Linux-based computer systems ThePathScale Compiler Suite shares its heritage with the well-known and mature SGIcompiler suite The PathScale Compiler Suite has been optimized for both the
24 CHAPTER 2 COMPILERS
AMD64 and EM64T architectures and has the worldrsquos most sophisticated optimiza-tion infrastructure
Unlike other compilers the PathScale Compiler Suite provides superior perfor-mance across both floating-point and integer-intensive applications Application de-velopers targeting 64-bit Linux servers will see immediate performance benefits fromcompiling with the PathScale compilers
The PathScale Compiler Suite includesC C++ and Fortran 779095 compilers Industry leading optimizations Com-
plete support for OpenMP 20 (including WORKSHARE) Complete support for 64-bit and 32-bit x86 compilation Code generation for AMD64 ABI AMD Opteronand Intel EM64T PathScale optimized AMD Core Math Library (available for down-load) Advanced serial debugger PathDB Compatible with GNUgcc tool chain andpopular Third Party debuggers Supported on SUSE RedHat and Fedora Linux Thecurrently shipping version of the PathScale Compiler Suite is
216 PGI
httpwwwpgroupcom
High-performance Optimizing Parallel Compilers For multi-core 64-bit x64 and 32-bit x86 processor-based Linux Mac OS X and Windows workstations servers andclusters PGI Workstation includes a single seat license for PGIrsquos suite of compilersand tools Also available with a multi-user network floating license (PGI Server)The PGI CDK Cluster Development Kit includes all the software for building andprogramming a turn-key Linux cluster PGI Visual Fortran fully integrates PGIparallel Fortran into Microsoft Windows using Microsoft Visual Studio 2005
217 Silverfrost nee Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
Salford Software markets FTN95 a Fortran 95 compiler for Win32 running onWindows 95NT2000XP PCs It has announced its Fortran 95 compiler for Mi-crosoft NET (FTN95 for NET) This compiler will produce fast executables fromsource files that may be any combination of Fortran 77 Fortran 90 and Fortran 95FTN95 for NET including integrated Help and Debugger is supplied bundled withFTN95 for Win32 and optionally with Microsoft Visual Studio for NET A low-costfully-featured personal edition is also available
218 SGI
httpwwwsgicomproductssoftwareirixtoolsfortranhtml
219 SUN - SEE ORACLE 25
MIPSpro Fortran Compilers This 64-bit ANSI Fortran 77 compiler is ideal forsystems running IRIX 6x It is compatible with VAXVMS Fortran and supportsCray extensions The 74 version of the MIPSpro Fortran 77 and Fortran 90 compilersnow support the OpenMP 20 standard Among the new features introduced in theOpenMP 20 specification are
WORKSHARE directive COPYPRIVATE clause for the broadcast of sequentialreads Portable timing routines MIPSpro Fortran 90 Compiler A 64 bit ANSI Fortran90 compiler with additional support for user-defined multiprocessing directives forsystems running IRIX 6x Compatible with VAXVMS Fortran and supports Crayextensions With the release of version 74 Fortran 90 specific support under theOpenMP 20 standard are
Parallelization of F90 array syntax via the WORKSHARE directive Privatizationof deferred shape and assumed shape objects The full Fortran 20 specification canobtained from the OpenMP Web site at httpwwwopenmporg
For more information read about the MIPSpro compilers
219 Sun - see Oracle
220 No longer available
2201 Apogee
httpwwwapogeecom
Features of the FORTRAN 7790 CompilerNo longer available Originally available for the SolarisSPARC platforms the
compiler conforms to Sunrsquos Solaris ABI and produces assembler code files acceptableto Sunrsquos Solaris assembler When used in the FORTRAN 77 compilation modethe compiler is compliant with the MIL-STD 1753 FORTRAN 77 and accepts mostFORTRAN 77 extensions of Sun IBM and other F77 compilers The supportedF77 extensions include structures length qualification on types additional data andconstant types initializations in type statements additional statements (END DODO WHILE POINTER VOLATILE etc) computations with aggregates namelist-directed IOs and debugging statements
When used in the Fortran 90 mode the compiler is compliant with the ANSIISOFortran 90 standard
2202 Compaq
This compiler is no longer under development This ceased when Intel bought outthe technology from HP Still widely used with legacy software Copies for sale canbe found on Ebay and similar vites
26 CHAPTER 2 COMPILERS
2203 EPC
Edinburgh Portable Compilers was an early vendor to produce a Fortran 90 compila-tion system A report by Adam Marshall from Liverpool University has a comparisionof several early Fortran 90 compilers It can be found at the address below
httpwwwlivacukHPCFortranCompilerStudyHTMLFortranCompilerStudyHTMLhtml
2204 NA Software
httpwwwnasoftwarecoukhomehtml
No longer available
Chapter 3
Fortran aware editors and IDEs
bull Version 15 October 2011 Updated photran entry
bull Version 14 July 2010 Added SunStudio Express entry
bull Version 131 April 2006 Added Windows Zeus entry
31 Windows
311 Absoft Editor (ae)
httpwwwabsoftcom
312 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
313 compaq visual fortran 6x
Nolongeravailable
314 editeur
wwwstudiowarecom
315 emacsxemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
316 emacsxemacs - cygwin components
httpwwwcygwincom
28 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
317 gvimvim - stand alone
httpwwwvimorg
318 gvimvim - cygwin component
httpwwwcygwincom
319 jed wjed (Windows)
httpwwwjedsoftorgjed
3110 lahey ed
httpwwwlaheycom
3111 microsoft visual studio 6
No longer available
3112 Microsoft Visual StudioNET
There are a number of vendors that have provided integration with Microsoft VisualStudio NET These include
Intel Visual Fortranwwwintelcom
LaheyFujitsu Fortranwwwlaheycom
Silverfrost Salford FTN95httpwwwsilverfrostcom11ftn95overviewasp
3113 nedit - cygwin
httpwwwneditorg
3114 ntemacs
httpwwwgnuorgsoftwareemacswindowsntemacshtml
3115 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
32 LINUXUNIX 29
3116 salford plato
httpwwwsilverfrostcom11ftn95overviewasp
3117 Oracle Solaris Studio Express
httpdeveloperssuncomsunstudiodownloadsexpress
3118 UltraEdit
wwwultraeditcom
3119 xemacsemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
3120 xemacsemacs - cygwin components
httpwwwcygwincom
3121 Zeus ide
httpwwwzeuseditcomfortranhtml
32 LinuxUnix
321 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
322 emacsxemacs
httpwwwgnuorgsoftwareemacsemacshtml
323 jed xjed (Unix(all flavours)OpenVMS) wjed (Win-dows)
httpwwwjedsoftorgjed
324 nedit
httpwwwneditorg
30 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
325 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
33 Apple OS X
331 Absoft Editor
httpwwwabsoftcom
332 BBEdit
httpwwwapplecomdownloadsmacosxproductivity_toolsbbedithtml
httpwwwbarebonescomproductsbbeditindexshtml
333 emacsxemacs
pre-installed
334 Photran
wwwphotranorg
335 Smultron
httpsmultronsourceforgenet
336 TextMate
httpmacromatescom
337 TextWrangler
httpwwwapplecomdownloadsmacosxproductivity_toolstextwranglerhtml
httpwwwbarebonescomproductstextwranglerindexshtml
338 Vim
Pre-installed
33 APPLE OS X 31
339 Xcode
httpdeveloperapplecom
3310 xemacsemacs
pre-installed
32 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
Chapter 4
Commercial Courses
bull Version 14 August 2012 Updated several entries
bull Version 13 November 2011 Notified by Shaun Forth at Cranfield of theirchanges Also added the HECToR entries
bull Version 12 August 2010
bull Version 11 September 2008
bull Version 10 January 2006
41 Ian Chivers and Jane Sleightholme
Ian Chivers and Jane Sleightholme are available to do tailored on site courses Coursesinclude
bull Introduction to Modern Programming in Fortran
bull Advanced Features of Modern Fortran
See
httpwwwfortranpluscouk
42 Cranfield University
Cranfield University offers four Fortran programming courses
bull Introduction to Programming in Fortran 95 and 2003 (3 days)
bull Advanced Programming in Fortran 95 and 2003 (3 days)
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
10 CHAPTER 1 BOOKS
bull Chivers ID Sleightholme J Introduction to Programming with Fortran Withcoverage of Fortran 90 95 2003 2008 and 77 2012 Springer Verlag ISBN-100857292323 ISBN-13 978-0857292322 Second Edition
bull Chivers ID Sleightholme J Introduction to Programming with Fortran Withcoverage of Fortran 90 95 2003 and 77 2006 Springer Verlag ISBN 1-84628-053-2 First Edition
bull Clerman NS Spector W Modern Fortran Style and Usage Cambridge Uni-versity Press 2011 ISBN-10 052173052X ISBN-13 978-0521730525
bull Gnu Fortran Team Using Gnu Fortran Manual For Gcc Version 433 Cre-ateSpace ISBN-10 1441412662 ISBN-13 978-1441412669 2009
bull McCormack D Scientific Software Development with Fortran 2009 ISBN 978-1-4452-5445-6
bull Metcalf M Reid J and Cohen M Fortran 952003 Explained 2004 OxfordUniversity Press ISBN 0-19-852693-8 ISBN 0-19-852692-X
bull Marcus A Modern Fortran in Practice 2012 Cambridge University PressISBN-10 1107017904 ISBN-13 978-1107017900
bull Ray S A Textbook on Fortran 2003 2009 Alpha Science International ISBN978-1-84265-479-8
bull Rouson D Xia J Xu X Scientific Software Design The Object-OrientedWay Cambridge University Press 2011 ISBN-10 0521888131 ISBN-13 978-0521888134
12 Fortran 95 - English
bull Adams JC Brainerd WS Martin JT Smith BT and Wagener JL Fortran95 Handbook 1997 MIT ISBN 0-262-51096-0
bull Adams JC Brainerd WS Martin JTand Smith BT Fortran Top 95 NinetyFive Key Features of Fortran 95 $10 The book is only available in PDF formfrom the Fortran Store httpwwwfortrancom
bull Akin E Object Oriented Programming via Fortran 9095 2003 CambridgeUniversity Press ISBN 0-521-52408-3
bull Chapman S J Fortran 9095 for Scientists and Engineers 2004 McGraw HillISBN 0-07-282575-8
bull Chapman SJ Introduction to Fortran 9095 1997 McGraw-Hill 1997 ISBN0-07-011969-4
13 FORTRAN 90 - ENGLISH 11
bull Chivers ID Sleightholme J Introducing Fortran 95 2000 Springer VerlagISBN 185233276X
bull Counihan M Fortran 95 1997 UCL ISBN 185728367-8
bull Etzel M Dickinson K Digital Visual Fortran 90 Programmerrsquos Guide 1999Digital Press ISBN 1-55558-218-4
bull Gehrke Fortran 95 Language Guide 1996 Springer ISBN 3-540-76062-8
bull Lakshmivarahan S Sudarshan K Dhall Programming in Fortran 9095 Pub-lisher Pearson Custom Publishing (2002) ASIN B000XM3WZ0
bull Lawrence N Compaq Visual Fortran A Guide to Creating Windows Applica-tions 2001 Digital Press ISBN 1-55558-249-4
bull Lemmon DRSchafer JL Developing Statistical Software in Fortran 95 2005Springer ISBN-10 0387238174 ISBN-13 978-0387238173
bull Metcalf M Reid J Fortran 9095 Explained 1999 Oxford University PressISBN 0-19-850558-2
bull Morgan amp Schonfelder Programming in Fortran 9095 available in AcrobatPDF format from httpwwwfortrancom
bull Rajaram V Computer Programming in Fortran 90 and 95 2004 Prentice HallISBN 978-8120311817
bull Vowels R Introduction to Fortran 9095 Algorithms and Structured Pro-gramming Part 1 Introduction to Fortran 90 Part 2 Algorithms and Fortran90 ISBN 0-9596384-8-2
13 Fortran 90 - English
bull Barlow RJ Barnett AR Computing for Scientists Principles of Program-ming with Fortran 90 and C++ 1998 Wiley Blackwell ISBN 978-0471955962
bull Adams Brainerd Martin Smith and Wagener Fortran 90 Handbook 1992McGraw Hill ISBN 0-07-000406-4
bull Brainerd Goldberg and Adams Programmers Guide to Fortran 90 1996Springer ISBN 0-387-94570-9
bull Brainerd Goldberg and Adams Programmers Guide to Fortran 90 1994 Uni-comp ISBN 0-07-000248-7
bull Brooks Problem solving with Fortran 90 for scientists and engineers 1997Springer ISBN 0-387-98229-9
12 CHAPTER 1 BOOKS
bull Chivers ID Sleightholme J Introducing Fortran 90 1995 Springer ISBN3-540-19940-3
bull Ellis Philips Lahey Fortran 90 Programming 1994 Addison Wesley ISBN0-201-54446-6
bull Etter Fortran 90 for Engineers 1995 BenjaminCummings ISBN 0-201544-46-6
bull Gehrke Fortran 90 Language Guide 1996 Springer ISBN 3-540-19926-8
bull Hahn DB Fortran 90 for Scientists and Engineers 1994 Edward Arnold ISBN0-340-60034-9
bull Huddleston Fortran 90 1996 Exchange Publ Div ISBN 0-945261-07-1
bull Kerrigan JF Migrating to Fortran 90 1993 OrsquoReilly ISBN 1-56592-049-X
bull Meissner LP Fortran 90 1995 PWS Kent ISBN 0-534-93372-6
bull Metcalf M Reid J Fortran 90 Explained 1990 Oxford University Press ISBN0-19-853772-7
bull Morgan amp Schonfelder Programming in Fortran 90 1993 Alfe4d Waller ISBN1-872474-06-3
bull Nyhoff Leestma Fortran 90 for Engineers and Scientists1 1996 PrenticeHall ISBN 0-13-519729-5
bull Nyhoff Leestma An introduction to Fortran 90 for Engineers and Scientists1996 Prentice Hall ISBN 0-13-505215-7
bull Redwine Upgrading to Fortran 90 1995 Springer-Verlag ISBN 0-387-97995-6
bull Schick Silverman Fortran 90 and Engineering Computation 1994 JohnWiley ISBN 0-471-58512-2
bull Smith IM Programming in Fortran 90 Wiley ISBN 0471-94185-9
bull Wagener Fortran 90 Concise Reference 1998 Absoft ISBN 0-9670066-0-0
14 English books on related topics
bull Advanced Scientific Computing - Wille Wiley 1995 ISBN 0471-95383-0
bull Atlas for Computing Mathematical Functions in Fortran 90 and Mathematica- Thompson Wiley 1997 0-471-18171-4
15 CHINESE 13
bull Contemporary Computing for Technical Engineers and Scientists using Fortran90 and spreadsheets - Forsythe PWS 1997 0-534-93139-1
bull Numerical Recipes in Fortran 90 The Art of Parallel Scientific ComputingVolume 2 of Fortran Numerical Recipes - Press Teukolsky Vetterling and Flan-nery Cambridge U Press ISBN 0-521-57439-0 1996 Code can be downloaded(purchased) from httpwwwnrcom A CDROM is also available (see Website)
15 Chinese
bull Introduction to Programming with Fortran with coverage of Fortran 90 952003 and 77 Ian Chivers and Jane Sleightholme Posts and Telecom Pressand Springer-Verlag London 2009 ISBN 978-7-115-21227-6 (A translation ofIntroduction to Programming in Fortran)
bull Programming Language Fortran 90 - He Xingui Xu Zuyuan Wu Qingbao andChen Ming yuan China Railway Publishing House Beijing ISBN 7-113-01788-6TP187 1994
bull Fortran 90 - Walter S Brainerd Charles H Goldberg Jeanne C Adams CHEPBeijing and Springer Berlin 2000 ISBN 7-04-007937-2 (a translation of Pro-grammerrsquos Guide to Fortran 90)
16 Dutch
bull Fortran 90 - WS Brainerd ChH Goldberg and JC Adams translated byJM den Haan Academic Service 1991 ISBN 90 6233 722 8
17 Finnish
bull Fortran 9095 - Juha Haataja Jussi Rahola and Juha Ruokolainen Center forScientific Computing (Finland) 2001 339 pages 3rd edition ISBN 952-9821-60-3 WWW version httpwwwcscfioppaatf95
18 French
bull Fortran 90 Approche par la Pratique - P Lignelet Srie Informatique ditionsMenton 1993 ISBN 2-909615-01-4
bull Fortran 90 Les concepts fondamentaux the translation of Fortran 90 Ex-plained M Metcalf J Reid translated by M Caillat and B Pichon AFNOR1993 Paris ISBN 2-12-486513-7
14 CHAPTER 1 BOOKS
bull Fortran 90 Initiation partir du Fortran 77 - Aberti Srie Informatique ditionsMenton 1992 ISBN 2-909615-00-6
bull Les spcificits du Fortran 90 M Dubesset et J Vignes ditions Technip 1993 ISBN 2-7108-0652-5
bull Manuel complet du langage Fortran 90 et guide dapplication P Lignelet SrieInformatique ditions 1995 ISBN 2-909615-02-2
bull Manuel Complet du Langage Fortran 90 et Fortran 95 Calcul intensif et GnieLogiciel P Lignelet Masson ditions Paris 1996 ISBN 2-225-85229-4
bull Programmer en Fortran 90 C Delannoy Eyrolles 1992 ISBN 2-212-08723-3
bull Traitement des donnes numriques avec Fortran 90 M Olagnon Masson ditions1996 ISBN 2-225-85259-6
bull Structures des donnes (et leurs algorithmes) en Fortran 9095 P LigneletMasson ditions Paris ISBN 2-225-85373-8
19 German
bull Fortran 90 Lehrbuch D Rabenstein Hanser 1995 ISBN 3-446-18235-7
bull Die Programmiersprache F W Gehrke Springer-Verlag ISBN 3-540-63376-6
bull Fortran 90 - BWojcieszynski and RWojcieszynski Addison-Wesley 1993 ISBN3-89319-600-5
bull Fortran 90 eine informelle Einfhrung M Heisterkamp BI-Wissenschaftsverlag1991 ISBN 3-411-15321-0
bull Fortran 90 Kurs technisch orientiert - G Schmitt Oldenbourg 1996 ISBN3-486-23896-5
bull Fortran 90 Lehr- und Arbeitsbuch fr das erfolgreiche Programmieren WSBrainerd CH Goldberg and JC Adams translated by Peter Thomas andKlaus G Paul R Olbenbourg Verlag Muenchen 1994 ISBN 3-486-22102-7
bull Fortran 90 Lehr- und Handbuch - T Michel BI-Wissenschaftsverlag 1994
bull Fortran 90 Referenz-Handbuch der neue Fortran-Standard W Gehrke CarlHansen Verlag 1991 ISBN3-446-16321-2
bull Programmierung in Fortran 90 - Schobert Oldenburg 1991
bull Programmierung mit Fortran 90 - Bumer Vieweg Braunschweig 1997 ISBN3-528-05208-2
110 ITALIAN 15
bull Programmieren in Fortran - Erasmus Langer Springer-Verlag Wien New York1993 ISBN 3-211-82446-4 0-387-82446-4
bull Software Entwicklung in Fortran 90 - berhuber and Meditz Springer Verlag1993 ISBN 0-387-82450-2
110 Italian
bull Some resources in Italian including a manual are at
httpspacetinitcomputergciabu
bull Programmare con Fortran G Ciaburro FAG 2008 ISBN 9788882336882
wwwciaburroitf90librohtm
httpwwwibsitcode9788882336882ciaburro-giuseppeprogrammare-con-fortranhtml
111 Japanese
bull Fortran 90 Explained - Metcalf and Reid translated by H Nisimura H WadaK Nishimura M Takata Kyoritsu Shuppan Co Ltd 1993 ISSN 0385-6984
112 Russian
bull An Explanation of the Fortran 90 Programming Language (translation of For-tran 90 Explained - Metcalf and Reid) translated P Gorbounov Mir Moscow1995 ISBN 5-03-001426-8 Available also from PetrGorbounovcernch
bull FORTRAN 77 to Fortran 90 Tutorial - Einarsson and Shokin Russian Academyof Sciences Novosibirsk 1995 ISBN 5-85826-013-6
113 Swedish
bull Fortran 90 - en introduktion - Blom Studentlitteratur Lund 1994 ISBN 91-44-47881-X
16 CHAPTER 1 BOOKS
Chapter 2
Compilers
bull Version 110 August 2012 Updated Nag entry 53 release supports openMPAlso updated product availability entry
bull Version 19 November 2010 Updated Absoft in response to an email fromWood Lotz
bull Version 18 July 2010 Updated Sun to reflect takeover by Oracle UpdatedSalford to reflect Silverfrost rebranding
bull Version 17 June 2009 Updated the Cray and Intel entries Added a newsection on compilers that are no longer available This has involved moving theentries on Apogee Compaq and NA Software into this section For historicalcompleteness wersquove also added an entry for EPC to this section
bull Version 16 September 2008 Updated the NAG entry with more details of theFortran Builder IDE
bull Version 15 September 2007 Updated Absoft Entry Compaq Fortran Com-pany Fujitsu Gnu Fortran 95 G95 IBM Intel LaheyFujitsu NAG NASoftware NEC Pathscale PGI SalfordSilverfrost SGI Sun
21 Introduction
The following is a list of companies and organisations that provide Fortran compilersthat conform to the Fortran 90 95 2003 and 2008 standards Fortran Forum hasa more or less standing table on compilers that support features from the 2003 and2008 standards The gfortran g95 and Sun compilers are free for Linux and gfortranand g95 are free for Windows
22 Absoft
httpwwwabsoftcom
18 CHAPTER 2 COMPILERS
Absoft Pro Fortran is a complete tool suite designed to automate building par-allel code on Linux Windows or Mac OSIntel Absoft Rolls are also available forx64Linux Compilers are full F95 include all popular legacy extensions many fromF2003 and are fully link and debug compatible with the host (Linux Microsoft MacOS) tool chain Compilers offer automatic parallelization vectorization OpenMP 30GPU support and Absoft application performance is consistently rated 1 on AMDand Intel systems by third party benchmarks IDE includes SMP graphical analyzerFx3 graphical multi-language debugger programmers editor several Fortran specificfeatures OpenMP and MPI controls math libraries VAXUnix libraries and 2D3Dgraphics Same look feel and functionality on all systems Nothing else to buy orlearn IMSL numerical libraries are a bundle option on all platforms
23 Cray
httpwwwcraycom
Cray has a fully optimizing Fortran 2003 compiler available for the Cray XT seriessystems This compiler also supports OpenMP and several Fortran 2008 featuresincluding submodules and coarrays
Cray has a fully-optimizing Fortran 95 compiler available for the Cray PVP (J90SV1) T3E and X1 systems The PVP compiler supports automatic parallization andOpenMP The T3E compiler supports coarrays The X1 compiler supports automaticstreaming OpenMP coarrays and many Fortran 2003 featuresrdquo
24 Fortran Company
httpwwwfortrancom
The Fortran Company offers F the subset language for Unix and Windows somein highly optimizing versions All of the full professional versions of the F compilerare available free by downloading them from the F anonymous ftp directory
The Fortran Tools include a Fortran 95 compiler with a graphical user interfacethat runs on Linux or Windows on a CD The CD also includes several Fortran booksin PDF format and many tools such as Matran a matrix computation library thatuses the highly tuned Atlas libraries a plotting package and a library of routines tocreate GUIs for your Fortran application programs
25 Fujitsu
httpwwwfujitsucomglobal
26 GNU FORTRAN 95 19
Fortran 95 (Solaris) A powerful updated development system used for FORTRANproductive applications Current version Sun Studio 9
The ISO Fortran 95 Standard is fully supported additionally there are enhance-ments for Fortran77 such as pointersstructures binaryoctalhexadecimal constantsetc High optimization includes automatic parallelization and OpenMP support AFortran runtime system optimized for UltraSPARC is now also included in the pack-age The development environment consists of the following components
Workbench An integral development environment for the CC++ and Fortrancompilers for compiler control program execution debugging performance analysiscoverage etc with a Motif-based graphical user interface (GUI)
Visual Analyzer A development and migration tool for CC++ and Fortranprograms The enclosed Source Analyzer allows the static program structure and theglobal data relations to be visualized It contains a class browser cross referencesand a calling graph viewer
Parallel Analyser Consists of an integrated development environment for theOpenMP programming It contains a manager a debugger and a profiler
Fujitsu also has a Fortran 95 compiler for Linux and a highly optimized nativeFortran 95 compiler FortranVPP and HPF for its VPP supercomputers
26 Gnu Fortran 95
httpgccgnuorgwikiGFortran
httpgccgnuorgfortran
Gfortran is the name of the GNU Fortran project developing a free Fortran 952003compiler for GCC the GNU Compiler Collection The gfortran development effortuses an open development environment in order to attract a larger team of devel-opers and to ensure that gfortran can work on multiple architectures and diverseenvironments The GNU Fortran 95 project or gfortran is developing a Fortran 95compiler front end as well as runtime libraries for GCC the GNU Compiler Col-lection Gfortran development is a part of the GNU project aiming to bring freenumber crunching to all GNU system variants The gfortran development effort usesan open development environment in order to attract a larger team of developers andto ensure that gfortran can work on multiple architectures and diverse environmentsIn particular the project wishes to reach the users of the Fortran 95 language beit in the scientific community in education or in a commercial environment Todaytruly free Fortran 90 or Fortran 95 compilers do not exist We are trying to makeone available to the Fortran community
27 g95
httpwwwg95org
20 CHAPTER 2 COMPILERS
g95 is a stable production Fortran 95 compiler available for multiple cpu architec-tures and operating systems Innovations and optimizations continue to be workedon Parts of the F2003 standard have been implemented in g95
28 Hewlett Packard
The web address that describes all of the compilers and supported hardware andoperating systems is
httph21007www2hpcomdspptechtech_TechSoftwareDetailPage_IDX11703623500h
HPrsquos Fortran products are available for multiple platforms Windows Tru64 UNIXAlphaServer systems Linux AlphaServer systems and HP OpenVMS (Alpha VAX)
Visual Fortran for WindowsFortran for Linux AlphaFortran for Tru64 UNIX AlphaFortran for HP OpenVMS AlphaFortran for HP OpenVMS IntegrityFortran for HP OpenVMS VAXFortran for HP-UXThe Windows product Compaq Visual Fortran includes the Microsoft Developer
Studio IDE which can be shared with Microsoft Visual C++ Parallel execution usingOpenMP-directed decomposition or HPF is included on the Tru64 UNIX platformOn Windows NT SMP parallel execution using directed decomposition is availablethrough Visual Compaq Fortran for Linux Alpha Systems is available as a freedownload under a Technology Enthusiast license for non-commercial use All Com-paq Fortran 95 products include the Compaq Extended Math Library of optimizedscientific subroutines and the allocatable array extensions
29 IBM
httpwww-306ibmcomsoftwareawdtoolsfortran
httpwww-306ibmcomsoftwareawdtoolsfortranxlfortranfeaturesf2003html
XL Fortran Enterprise Edition for AIX XL Fortran Enterprise Edition for AIX pro-vides industry-leading code optimization and tuning features a full implementationof the OpenMP API Version 25 Symmetric Multiprocessing (SMP) APIs directmanipulation of the floating-point status and control register 64-bit enablementasynchronous IO debug memory routines and many other features
XL Fortran Advanced Edition for Blue Gene XL Fortran Advanced Edition forBlue Gene is the latest addition to our XL Fortran compiler family It expands our
210 INTEL 21
proven XL Fortarn compiler technology to exploit the capabilities of the PowerPC440 and 440d processors used in IBM Blue GeneL supercomputers
XL Fortran Advanced Edition for Linux XL Fortran Advanced Edition for Linuxsupports your choice of RHEL4 SLES9 and Y-HPC Linux distributions Advancedoptimization technology and VMX support help you create high-performance 32-bitand 64-bit applications that run efficiently on a variety of processor architecturesincluding IBMrsquos newest POWER5+ and PowerPC 970 processors and Apple PowerMac G5 and Xserve G5 systems
VS FORTRAN VS FORTRAN contains features geared to help Fortran program-mers develop applications more easily and efficiently while using the full power ofIBMrsquos large systems
The second web link has details of Fortran 2003 support
210 Intel
httpsoftwareintelcomen-usintel-compilers
Intel offers optimizing Fortran compilers for the IA-32 x64 and IA-64 (Intel Ita-nium) architectures running the Linux Mac OS X (IA-32 and x64) or Windows op-erating systems Intel Fortran is fully compliant with Fortran 95 and supports mostof Fortran 2003 as well as many popular extensions The compiler offers automaticparallelization and vectorization and supports OpenMP 30 as well as generatingoptimized code for the latest Intel processors and compatible non-Intel processors
On all platforms the Intel Fortran compiler includes the Intel Math Kernel Li-brary a library of highly optimized extensively threaded math routines for scienceengineering and financial applications The IMSL Fortran Numeric Library 60 fromVisual Numerics is an option on Windows
On Windows the compiler integrates into Microsoft Visual Studio 2003 2005 or2008 and includes a self-sufficient Fortran development environment based on Mi-crosoft Visual Studio 2008 The Windows compiler also provides mechanisms tointerface Fortran code with the Microsoft COM and NET environments Academicand student pricing is available
211 LaheyFujitsu
httpwwwlaheycom
LaheyFujitsu Fortran 95 is produced by the LaheyFujitsu alliance LF95 is avail-able in three Windows configurations Express Standard and PRO and two Linuxconfigurations Express and PRO All configurations feature VAX IBM and POSIXlanguage extensions allocatable array enhancements etc The Windows and LinuxExpress version is command line only and features the compiler linker and debug-ger PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-
22 CHAPTER 2 COMPILERS
TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creatingtrue Windows programs with Fortran and a Coverage Analysis Tool that detects un-executed code and performs range of operation checking The PRO is compatible withVisual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 Math Libraryand Visual Analyzer (see below) The PRO Linux version offers auto-parallelizationOpenMP compatibility thread-safe BLAS and LAPACK WiSK AUTOMAKE andFujitsus SSL2 All products come with free technical support and are available at Also available is a subset compiler elf90
It would appear that the Windows version is no longer under active developmentThe last update was dated December 2004
212 NAG
httpwwwnagcouknagwareasp
The NAG Fortran Compiler derived from the worldrsquos first Fortran 90 Compilerfrom NAG is robust highly tested and valued by developers all over the globe forits checking capabilities and detailed error reporting Available on a wide range ofUnix and Windows platforms it accepts fixed or free format Fortran 95 input andmany common Fortran 77 extensions are allowed A large number of Fortran 2003language features are now available HPF code is also compiled and checked thoughonly single processor output is generated The 53 release supports a good workingsubset of OpenMP 3
The following versions are availableApple Intel Mac64 Release 53 gcc 42HP PA-RISC 11 Release 51 HP ANSI CIBM Power AIX Release 51 AIX XL C 60IBM Z9 Linux Release 51 gcc 346IBM Z9 Open Edition Release 52 IBM CLinux x86-32 Release 53 gcc 322Linux64 Release 53 gcc 412Sun SPARC Solaris Release 52 gcc 342Sun SPARC Solaris Release 52 Sun C v 55x86 and x86-64 Windows Release 53An integrated Fortran IDE is also available for Windows
httpwwwnagcouknagwarenpfortranbuilderasp
213 NEC
httpwwwneccom
214 ORACLE - ORIGINALLY SUN 23
NEC has a native optimizing Fortran 95 compiler FORTRAN90SX with anautomatic vectorization and parallelization capability for its supercomputer SX se-ries HPFSX V2 provides functions conforming to the specification of HPF11 andHPF20 and can be used with vector processing functions in SX Fortran and withparallel processing functions using microtasking
214 Oracle - originally Sun
httpwwworaclecomussunindexhtm
httpwwwsuncom
httpdeveloperssuncomsunstudio
httpdeveloperssuncomsunstudiodownloadsexpress
Sun Studio software delivers high-performance optimizing C C++ and Fortrancompilers for the Solaris OS on SPARC and both Solaris and Linux on x86x64platforms including the latest multi-core systems
Whatrsquos in Sun StudioAll Compilers - Specify 32-bit or 64-bit Address Model Auto-parallelization of
single-threaded code Flags Static data-race and deadlock-detection for x86 Mathand Visual Instruction Set Support in SPARC64 VI Option for Floating-Point Fusedor Multiply-Add Instructions Option for Thread Analyzer support Linux SupportOpenMP and OpenMPI suport Support for the directives clauses and attributes
Fortran Compiler - Interval arithmetic support on Solaris Intel platform Fastercompilation time for source files UNSIGNED arguments Backward compatibilitywith f77
C Compiler - More options Auto-parallelization of single-threaded code GNU Ccompatibility
C++ Compiler - More options ABI compatibility Compiler flags to optimize formulticore architectures Static linking the standard C++ runtime library
215 PathScale
httpwwwpathscalecomproductspathscale_compiler_suite
PathScalersquos goal is to make it easier to develop and deploy 64-bit applications intoclustered environments PathScale has developed the industryrsquos highest-performanceC C++ and Fortran 9X compilers for 64-bit Linux-based computer systems ThePathScale Compiler Suite shares its heritage with the well-known and mature SGIcompiler suite The PathScale Compiler Suite has been optimized for both the
24 CHAPTER 2 COMPILERS
AMD64 and EM64T architectures and has the worldrsquos most sophisticated optimiza-tion infrastructure
Unlike other compilers the PathScale Compiler Suite provides superior perfor-mance across both floating-point and integer-intensive applications Application de-velopers targeting 64-bit Linux servers will see immediate performance benefits fromcompiling with the PathScale compilers
The PathScale Compiler Suite includesC C++ and Fortran 779095 compilers Industry leading optimizations Com-
plete support for OpenMP 20 (including WORKSHARE) Complete support for 64-bit and 32-bit x86 compilation Code generation for AMD64 ABI AMD Opteronand Intel EM64T PathScale optimized AMD Core Math Library (available for down-load) Advanced serial debugger PathDB Compatible with GNUgcc tool chain andpopular Third Party debuggers Supported on SUSE RedHat and Fedora Linux Thecurrently shipping version of the PathScale Compiler Suite is
216 PGI
httpwwwpgroupcom
High-performance Optimizing Parallel Compilers For multi-core 64-bit x64 and 32-bit x86 processor-based Linux Mac OS X and Windows workstations servers andclusters PGI Workstation includes a single seat license for PGIrsquos suite of compilersand tools Also available with a multi-user network floating license (PGI Server)The PGI CDK Cluster Development Kit includes all the software for building andprogramming a turn-key Linux cluster PGI Visual Fortran fully integrates PGIparallel Fortran into Microsoft Windows using Microsoft Visual Studio 2005
217 Silverfrost nee Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
Salford Software markets FTN95 a Fortran 95 compiler for Win32 running onWindows 95NT2000XP PCs It has announced its Fortran 95 compiler for Mi-crosoft NET (FTN95 for NET) This compiler will produce fast executables fromsource files that may be any combination of Fortran 77 Fortran 90 and Fortran 95FTN95 for NET including integrated Help and Debugger is supplied bundled withFTN95 for Win32 and optionally with Microsoft Visual Studio for NET A low-costfully-featured personal edition is also available
218 SGI
httpwwwsgicomproductssoftwareirixtoolsfortranhtml
219 SUN - SEE ORACLE 25
MIPSpro Fortran Compilers This 64-bit ANSI Fortran 77 compiler is ideal forsystems running IRIX 6x It is compatible with VAXVMS Fortran and supportsCray extensions The 74 version of the MIPSpro Fortran 77 and Fortran 90 compilersnow support the OpenMP 20 standard Among the new features introduced in theOpenMP 20 specification are
WORKSHARE directive COPYPRIVATE clause for the broadcast of sequentialreads Portable timing routines MIPSpro Fortran 90 Compiler A 64 bit ANSI Fortran90 compiler with additional support for user-defined multiprocessing directives forsystems running IRIX 6x Compatible with VAXVMS Fortran and supports Crayextensions With the release of version 74 Fortran 90 specific support under theOpenMP 20 standard are
Parallelization of F90 array syntax via the WORKSHARE directive Privatizationof deferred shape and assumed shape objects The full Fortran 20 specification canobtained from the OpenMP Web site at httpwwwopenmporg
For more information read about the MIPSpro compilers
219 Sun - see Oracle
220 No longer available
2201 Apogee
httpwwwapogeecom
Features of the FORTRAN 7790 CompilerNo longer available Originally available for the SolarisSPARC platforms the
compiler conforms to Sunrsquos Solaris ABI and produces assembler code files acceptableto Sunrsquos Solaris assembler When used in the FORTRAN 77 compilation modethe compiler is compliant with the MIL-STD 1753 FORTRAN 77 and accepts mostFORTRAN 77 extensions of Sun IBM and other F77 compilers The supportedF77 extensions include structures length qualification on types additional data andconstant types initializations in type statements additional statements (END DODO WHILE POINTER VOLATILE etc) computations with aggregates namelist-directed IOs and debugging statements
When used in the Fortran 90 mode the compiler is compliant with the ANSIISOFortran 90 standard
2202 Compaq
This compiler is no longer under development This ceased when Intel bought outthe technology from HP Still widely used with legacy software Copies for sale canbe found on Ebay and similar vites
26 CHAPTER 2 COMPILERS
2203 EPC
Edinburgh Portable Compilers was an early vendor to produce a Fortran 90 compila-tion system A report by Adam Marshall from Liverpool University has a comparisionof several early Fortran 90 compilers It can be found at the address below
httpwwwlivacukHPCFortranCompilerStudyHTMLFortranCompilerStudyHTMLhtml
2204 NA Software
httpwwwnasoftwarecoukhomehtml
No longer available
Chapter 3
Fortran aware editors and IDEs
bull Version 15 October 2011 Updated photran entry
bull Version 14 July 2010 Added SunStudio Express entry
bull Version 131 April 2006 Added Windows Zeus entry
31 Windows
311 Absoft Editor (ae)
httpwwwabsoftcom
312 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
313 compaq visual fortran 6x
Nolongeravailable
314 editeur
wwwstudiowarecom
315 emacsxemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
316 emacsxemacs - cygwin components
httpwwwcygwincom
28 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
317 gvimvim - stand alone
httpwwwvimorg
318 gvimvim - cygwin component
httpwwwcygwincom
319 jed wjed (Windows)
httpwwwjedsoftorgjed
3110 lahey ed
httpwwwlaheycom
3111 microsoft visual studio 6
No longer available
3112 Microsoft Visual StudioNET
There are a number of vendors that have provided integration with Microsoft VisualStudio NET These include
Intel Visual Fortranwwwintelcom
LaheyFujitsu Fortranwwwlaheycom
Silverfrost Salford FTN95httpwwwsilverfrostcom11ftn95overviewasp
3113 nedit - cygwin
httpwwwneditorg
3114 ntemacs
httpwwwgnuorgsoftwareemacswindowsntemacshtml
3115 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
32 LINUXUNIX 29
3116 salford plato
httpwwwsilverfrostcom11ftn95overviewasp
3117 Oracle Solaris Studio Express
httpdeveloperssuncomsunstudiodownloadsexpress
3118 UltraEdit
wwwultraeditcom
3119 xemacsemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
3120 xemacsemacs - cygwin components
httpwwwcygwincom
3121 Zeus ide
httpwwwzeuseditcomfortranhtml
32 LinuxUnix
321 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
322 emacsxemacs
httpwwwgnuorgsoftwareemacsemacshtml
323 jed xjed (Unix(all flavours)OpenVMS) wjed (Win-dows)
httpwwwjedsoftorgjed
324 nedit
httpwwwneditorg
30 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
325 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
33 Apple OS X
331 Absoft Editor
httpwwwabsoftcom
332 BBEdit
httpwwwapplecomdownloadsmacosxproductivity_toolsbbedithtml
httpwwwbarebonescomproductsbbeditindexshtml
333 emacsxemacs
pre-installed
334 Photran
wwwphotranorg
335 Smultron
httpsmultronsourceforgenet
336 TextMate
httpmacromatescom
337 TextWrangler
httpwwwapplecomdownloadsmacosxproductivity_toolstextwranglerhtml
httpwwwbarebonescomproductstextwranglerindexshtml
338 Vim
Pre-installed
33 APPLE OS X 31
339 Xcode
httpdeveloperapplecom
3310 xemacsemacs
pre-installed
32 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
Chapter 4
Commercial Courses
bull Version 14 August 2012 Updated several entries
bull Version 13 November 2011 Notified by Shaun Forth at Cranfield of theirchanges Also added the HECToR entries
bull Version 12 August 2010
bull Version 11 September 2008
bull Version 10 January 2006
41 Ian Chivers and Jane Sleightholme
Ian Chivers and Jane Sleightholme are available to do tailored on site courses Coursesinclude
bull Introduction to Modern Programming in Fortran
bull Advanced Features of Modern Fortran
See
httpwwwfortranpluscouk
42 Cranfield University
Cranfield University offers four Fortran programming courses
bull Introduction to Programming in Fortran 95 and 2003 (3 days)
bull Advanced Programming in Fortran 95 and 2003 (3 days)
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
13 FORTRAN 90 - ENGLISH 11
bull Chivers ID Sleightholme J Introducing Fortran 95 2000 Springer VerlagISBN 185233276X
bull Counihan M Fortran 95 1997 UCL ISBN 185728367-8
bull Etzel M Dickinson K Digital Visual Fortran 90 Programmerrsquos Guide 1999Digital Press ISBN 1-55558-218-4
bull Gehrke Fortran 95 Language Guide 1996 Springer ISBN 3-540-76062-8
bull Lakshmivarahan S Sudarshan K Dhall Programming in Fortran 9095 Pub-lisher Pearson Custom Publishing (2002) ASIN B000XM3WZ0
bull Lawrence N Compaq Visual Fortran A Guide to Creating Windows Applica-tions 2001 Digital Press ISBN 1-55558-249-4
bull Lemmon DRSchafer JL Developing Statistical Software in Fortran 95 2005Springer ISBN-10 0387238174 ISBN-13 978-0387238173
bull Metcalf M Reid J Fortran 9095 Explained 1999 Oxford University PressISBN 0-19-850558-2
bull Morgan amp Schonfelder Programming in Fortran 9095 available in AcrobatPDF format from httpwwwfortrancom
bull Rajaram V Computer Programming in Fortran 90 and 95 2004 Prentice HallISBN 978-8120311817
bull Vowels R Introduction to Fortran 9095 Algorithms and Structured Pro-gramming Part 1 Introduction to Fortran 90 Part 2 Algorithms and Fortran90 ISBN 0-9596384-8-2
13 Fortran 90 - English
bull Barlow RJ Barnett AR Computing for Scientists Principles of Program-ming with Fortran 90 and C++ 1998 Wiley Blackwell ISBN 978-0471955962
bull Adams Brainerd Martin Smith and Wagener Fortran 90 Handbook 1992McGraw Hill ISBN 0-07-000406-4
bull Brainerd Goldberg and Adams Programmers Guide to Fortran 90 1996Springer ISBN 0-387-94570-9
bull Brainerd Goldberg and Adams Programmers Guide to Fortran 90 1994 Uni-comp ISBN 0-07-000248-7
bull Brooks Problem solving with Fortran 90 for scientists and engineers 1997Springer ISBN 0-387-98229-9
12 CHAPTER 1 BOOKS
bull Chivers ID Sleightholme J Introducing Fortran 90 1995 Springer ISBN3-540-19940-3
bull Ellis Philips Lahey Fortran 90 Programming 1994 Addison Wesley ISBN0-201-54446-6
bull Etter Fortran 90 for Engineers 1995 BenjaminCummings ISBN 0-201544-46-6
bull Gehrke Fortran 90 Language Guide 1996 Springer ISBN 3-540-19926-8
bull Hahn DB Fortran 90 for Scientists and Engineers 1994 Edward Arnold ISBN0-340-60034-9
bull Huddleston Fortran 90 1996 Exchange Publ Div ISBN 0-945261-07-1
bull Kerrigan JF Migrating to Fortran 90 1993 OrsquoReilly ISBN 1-56592-049-X
bull Meissner LP Fortran 90 1995 PWS Kent ISBN 0-534-93372-6
bull Metcalf M Reid J Fortran 90 Explained 1990 Oxford University Press ISBN0-19-853772-7
bull Morgan amp Schonfelder Programming in Fortran 90 1993 Alfe4d Waller ISBN1-872474-06-3
bull Nyhoff Leestma Fortran 90 for Engineers and Scientists1 1996 PrenticeHall ISBN 0-13-519729-5
bull Nyhoff Leestma An introduction to Fortran 90 for Engineers and Scientists1996 Prentice Hall ISBN 0-13-505215-7
bull Redwine Upgrading to Fortran 90 1995 Springer-Verlag ISBN 0-387-97995-6
bull Schick Silverman Fortran 90 and Engineering Computation 1994 JohnWiley ISBN 0-471-58512-2
bull Smith IM Programming in Fortran 90 Wiley ISBN 0471-94185-9
bull Wagener Fortran 90 Concise Reference 1998 Absoft ISBN 0-9670066-0-0
14 English books on related topics
bull Advanced Scientific Computing - Wille Wiley 1995 ISBN 0471-95383-0
bull Atlas for Computing Mathematical Functions in Fortran 90 and Mathematica- Thompson Wiley 1997 0-471-18171-4
15 CHINESE 13
bull Contemporary Computing for Technical Engineers and Scientists using Fortran90 and spreadsheets - Forsythe PWS 1997 0-534-93139-1
bull Numerical Recipes in Fortran 90 The Art of Parallel Scientific ComputingVolume 2 of Fortran Numerical Recipes - Press Teukolsky Vetterling and Flan-nery Cambridge U Press ISBN 0-521-57439-0 1996 Code can be downloaded(purchased) from httpwwwnrcom A CDROM is also available (see Website)
15 Chinese
bull Introduction to Programming with Fortran with coverage of Fortran 90 952003 and 77 Ian Chivers and Jane Sleightholme Posts and Telecom Pressand Springer-Verlag London 2009 ISBN 978-7-115-21227-6 (A translation ofIntroduction to Programming in Fortran)
bull Programming Language Fortran 90 - He Xingui Xu Zuyuan Wu Qingbao andChen Ming yuan China Railway Publishing House Beijing ISBN 7-113-01788-6TP187 1994
bull Fortran 90 - Walter S Brainerd Charles H Goldberg Jeanne C Adams CHEPBeijing and Springer Berlin 2000 ISBN 7-04-007937-2 (a translation of Pro-grammerrsquos Guide to Fortran 90)
16 Dutch
bull Fortran 90 - WS Brainerd ChH Goldberg and JC Adams translated byJM den Haan Academic Service 1991 ISBN 90 6233 722 8
17 Finnish
bull Fortran 9095 - Juha Haataja Jussi Rahola and Juha Ruokolainen Center forScientific Computing (Finland) 2001 339 pages 3rd edition ISBN 952-9821-60-3 WWW version httpwwwcscfioppaatf95
18 French
bull Fortran 90 Approche par la Pratique - P Lignelet Srie Informatique ditionsMenton 1993 ISBN 2-909615-01-4
bull Fortran 90 Les concepts fondamentaux the translation of Fortran 90 Ex-plained M Metcalf J Reid translated by M Caillat and B Pichon AFNOR1993 Paris ISBN 2-12-486513-7
14 CHAPTER 1 BOOKS
bull Fortran 90 Initiation partir du Fortran 77 - Aberti Srie Informatique ditionsMenton 1992 ISBN 2-909615-00-6
bull Les spcificits du Fortran 90 M Dubesset et J Vignes ditions Technip 1993 ISBN 2-7108-0652-5
bull Manuel complet du langage Fortran 90 et guide dapplication P Lignelet SrieInformatique ditions 1995 ISBN 2-909615-02-2
bull Manuel Complet du Langage Fortran 90 et Fortran 95 Calcul intensif et GnieLogiciel P Lignelet Masson ditions Paris 1996 ISBN 2-225-85229-4
bull Programmer en Fortran 90 C Delannoy Eyrolles 1992 ISBN 2-212-08723-3
bull Traitement des donnes numriques avec Fortran 90 M Olagnon Masson ditions1996 ISBN 2-225-85259-6
bull Structures des donnes (et leurs algorithmes) en Fortran 9095 P LigneletMasson ditions Paris ISBN 2-225-85373-8
19 German
bull Fortran 90 Lehrbuch D Rabenstein Hanser 1995 ISBN 3-446-18235-7
bull Die Programmiersprache F W Gehrke Springer-Verlag ISBN 3-540-63376-6
bull Fortran 90 - BWojcieszynski and RWojcieszynski Addison-Wesley 1993 ISBN3-89319-600-5
bull Fortran 90 eine informelle Einfhrung M Heisterkamp BI-Wissenschaftsverlag1991 ISBN 3-411-15321-0
bull Fortran 90 Kurs technisch orientiert - G Schmitt Oldenbourg 1996 ISBN3-486-23896-5
bull Fortran 90 Lehr- und Arbeitsbuch fr das erfolgreiche Programmieren WSBrainerd CH Goldberg and JC Adams translated by Peter Thomas andKlaus G Paul R Olbenbourg Verlag Muenchen 1994 ISBN 3-486-22102-7
bull Fortran 90 Lehr- und Handbuch - T Michel BI-Wissenschaftsverlag 1994
bull Fortran 90 Referenz-Handbuch der neue Fortran-Standard W Gehrke CarlHansen Verlag 1991 ISBN3-446-16321-2
bull Programmierung in Fortran 90 - Schobert Oldenburg 1991
bull Programmierung mit Fortran 90 - Bumer Vieweg Braunschweig 1997 ISBN3-528-05208-2
110 ITALIAN 15
bull Programmieren in Fortran - Erasmus Langer Springer-Verlag Wien New York1993 ISBN 3-211-82446-4 0-387-82446-4
bull Software Entwicklung in Fortran 90 - berhuber and Meditz Springer Verlag1993 ISBN 0-387-82450-2
110 Italian
bull Some resources in Italian including a manual are at
httpspacetinitcomputergciabu
bull Programmare con Fortran G Ciaburro FAG 2008 ISBN 9788882336882
wwwciaburroitf90librohtm
httpwwwibsitcode9788882336882ciaburro-giuseppeprogrammare-con-fortranhtml
111 Japanese
bull Fortran 90 Explained - Metcalf and Reid translated by H Nisimura H WadaK Nishimura M Takata Kyoritsu Shuppan Co Ltd 1993 ISSN 0385-6984
112 Russian
bull An Explanation of the Fortran 90 Programming Language (translation of For-tran 90 Explained - Metcalf and Reid) translated P Gorbounov Mir Moscow1995 ISBN 5-03-001426-8 Available also from PetrGorbounovcernch
bull FORTRAN 77 to Fortran 90 Tutorial - Einarsson and Shokin Russian Academyof Sciences Novosibirsk 1995 ISBN 5-85826-013-6
113 Swedish
bull Fortran 90 - en introduktion - Blom Studentlitteratur Lund 1994 ISBN 91-44-47881-X
16 CHAPTER 1 BOOKS
Chapter 2
Compilers
bull Version 110 August 2012 Updated Nag entry 53 release supports openMPAlso updated product availability entry
bull Version 19 November 2010 Updated Absoft in response to an email fromWood Lotz
bull Version 18 July 2010 Updated Sun to reflect takeover by Oracle UpdatedSalford to reflect Silverfrost rebranding
bull Version 17 June 2009 Updated the Cray and Intel entries Added a newsection on compilers that are no longer available This has involved moving theentries on Apogee Compaq and NA Software into this section For historicalcompleteness wersquove also added an entry for EPC to this section
bull Version 16 September 2008 Updated the NAG entry with more details of theFortran Builder IDE
bull Version 15 September 2007 Updated Absoft Entry Compaq Fortran Com-pany Fujitsu Gnu Fortran 95 G95 IBM Intel LaheyFujitsu NAG NASoftware NEC Pathscale PGI SalfordSilverfrost SGI Sun
21 Introduction
The following is a list of companies and organisations that provide Fortran compilersthat conform to the Fortran 90 95 2003 and 2008 standards Fortran Forum hasa more or less standing table on compilers that support features from the 2003 and2008 standards The gfortran g95 and Sun compilers are free for Linux and gfortranand g95 are free for Windows
22 Absoft
httpwwwabsoftcom
18 CHAPTER 2 COMPILERS
Absoft Pro Fortran is a complete tool suite designed to automate building par-allel code on Linux Windows or Mac OSIntel Absoft Rolls are also available forx64Linux Compilers are full F95 include all popular legacy extensions many fromF2003 and are fully link and debug compatible with the host (Linux Microsoft MacOS) tool chain Compilers offer automatic parallelization vectorization OpenMP 30GPU support and Absoft application performance is consistently rated 1 on AMDand Intel systems by third party benchmarks IDE includes SMP graphical analyzerFx3 graphical multi-language debugger programmers editor several Fortran specificfeatures OpenMP and MPI controls math libraries VAXUnix libraries and 2D3Dgraphics Same look feel and functionality on all systems Nothing else to buy orlearn IMSL numerical libraries are a bundle option on all platforms
23 Cray
httpwwwcraycom
Cray has a fully optimizing Fortran 2003 compiler available for the Cray XT seriessystems This compiler also supports OpenMP and several Fortran 2008 featuresincluding submodules and coarrays
Cray has a fully-optimizing Fortran 95 compiler available for the Cray PVP (J90SV1) T3E and X1 systems The PVP compiler supports automatic parallization andOpenMP The T3E compiler supports coarrays The X1 compiler supports automaticstreaming OpenMP coarrays and many Fortran 2003 featuresrdquo
24 Fortran Company
httpwwwfortrancom
The Fortran Company offers F the subset language for Unix and Windows somein highly optimizing versions All of the full professional versions of the F compilerare available free by downloading them from the F anonymous ftp directory
The Fortran Tools include a Fortran 95 compiler with a graphical user interfacethat runs on Linux or Windows on a CD The CD also includes several Fortran booksin PDF format and many tools such as Matran a matrix computation library thatuses the highly tuned Atlas libraries a plotting package and a library of routines tocreate GUIs for your Fortran application programs
25 Fujitsu
httpwwwfujitsucomglobal
26 GNU FORTRAN 95 19
Fortran 95 (Solaris) A powerful updated development system used for FORTRANproductive applications Current version Sun Studio 9
The ISO Fortran 95 Standard is fully supported additionally there are enhance-ments for Fortran77 such as pointersstructures binaryoctalhexadecimal constantsetc High optimization includes automatic parallelization and OpenMP support AFortran runtime system optimized for UltraSPARC is now also included in the pack-age The development environment consists of the following components
Workbench An integral development environment for the CC++ and Fortrancompilers for compiler control program execution debugging performance analysiscoverage etc with a Motif-based graphical user interface (GUI)
Visual Analyzer A development and migration tool for CC++ and Fortranprograms The enclosed Source Analyzer allows the static program structure and theglobal data relations to be visualized It contains a class browser cross referencesand a calling graph viewer
Parallel Analyser Consists of an integrated development environment for theOpenMP programming It contains a manager a debugger and a profiler
Fujitsu also has a Fortran 95 compiler for Linux and a highly optimized nativeFortran 95 compiler FortranVPP and HPF for its VPP supercomputers
26 Gnu Fortran 95
httpgccgnuorgwikiGFortran
httpgccgnuorgfortran
Gfortran is the name of the GNU Fortran project developing a free Fortran 952003compiler for GCC the GNU Compiler Collection The gfortran development effortuses an open development environment in order to attract a larger team of devel-opers and to ensure that gfortran can work on multiple architectures and diverseenvironments The GNU Fortran 95 project or gfortran is developing a Fortran 95compiler front end as well as runtime libraries for GCC the GNU Compiler Col-lection Gfortran development is a part of the GNU project aiming to bring freenumber crunching to all GNU system variants The gfortran development effort usesan open development environment in order to attract a larger team of developers andto ensure that gfortran can work on multiple architectures and diverse environmentsIn particular the project wishes to reach the users of the Fortran 95 language beit in the scientific community in education or in a commercial environment Todaytruly free Fortran 90 or Fortran 95 compilers do not exist We are trying to makeone available to the Fortran community
27 g95
httpwwwg95org
20 CHAPTER 2 COMPILERS
g95 is a stable production Fortran 95 compiler available for multiple cpu architec-tures and operating systems Innovations and optimizations continue to be workedon Parts of the F2003 standard have been implemented in g95
28 Hewlett Packard
The web address that describes all of the compilers and supported hardware andoperating systems is
httph21007www2hpcomdspptechtech_TechSoftwareDetailPage_IDX11703623500h
HPrsquos Fortran products are available for multiple platforms Windows Tru64 UNIXAlphaServer systems Linux AlphaServer systems and HP OpenVMS (Alpha VAX)
Visual Fortran for WindowsFortran for Linux AlphaFortran for Tru64 UNIX AlphaFortran for HP OpenVMS AlphaFortran for HP OpenVMS IntegrityFortran for HP OpenVMS VAXFortran for HP-UXThe Windows product Compaq Visual Fortran includes the Microsoft Developer
Studio IDE which can be shared with Microsoft Visual C++ Parallel execution usingOpenMP-directed decomposition or HPF is included on the Tru64 UNIX platformOn Windows NT SMP parallel execution using directed decomposition is availablethrough Visual Compaq Fortran for Linux Alpha Systems is available as a freedownload under a Technology Enthusiast license for non-commercial use All Com-paq Fortran 95 products include the Compaq Extended Math Library of optimizedscientific subroutines and the allocatable array extensions
29 IBM
httpwww-306ibmcomsoftwareawdtoolsfortran
httpwww-306ibmcomsoftwareawdtoolsfortranxlfortranfeaturesf2003html
XL Fortran Enterprise Edition for AIX XL Fortran Enterprise Edition for AIX pro-vides industry-leading code optimization and tuning features a full implementationof the OpenMP API Version 25 Symmetric Multiprocessing (SMP) APIs directmanipulation of the floating-point status and control register 64-bit enablementasynchronous IO debug memory routines and many other features
XL Fortran Advanced Edition for Blue Gene XL Fortran Advanced Edition forBlue Gene is the latest addition to our XL Fortran compiler family It expands our
210 INTEL 21
proven XL Fortarn compiler technology to exploit the capabilities of the PowerPC440 and 440d processors used in IBM Blue GeneL supercomputers
XL Fortran Advanced Edition for Linux XL Fortran Advanced Edition for Linuxsupports your choice of RHEL4 SLES9 and Y-HPC Linux distributions Advancedoptimization technology and VMX support help you create high-performance 32-bitand 64-bit applications that run efficiently on a variety of processor architecturesincluding IBMrsquos newest POWER5+ and PowerPC 970 processors and Apple PowerMac G5 and Xserve G5 systems
VS FORTRAN VS FORTRAN contains features geared to help Fortran program-mers develop applications more easily and efficiently while using the full power ofIBMrsquos large systems
The second web link has details of Fortran 2003 support
210 Intel
httpsoftwareintelcomen-usintel-compilers
Intel offers optimizing Fortran compilers for the IA-32 x64 and IA-64 (Intel Ita-nium) architectures running the Linux Mac OS X (IA-32 and x64) or Windows op-erating systems Intel Fortran is fully compliant with Fortran 95 and supports mostof Fortran 2003 as well as many popular extensions The compiler offers automaticparallelization and vectorization and supports OpenMP 30 as well as generatingoptimized code for the latest Intel processors and compatible non-Intel processors
On all platforms the Intel Fortran compiler includes the Intel Math Kernel Li-brary a library of highly optimized extensively threaded math routines for scienceengineering and financial applications The IMSL Fortran Numeric Library 60 fromVisual Numerics is an option on Windows
On Windows the compiler integrates into Microsoft Visual Studio 2003 2005 or2008 and includes a self-sufficient Fortran development environment based on Mi-crosoft Visual Studio 2008 The Windows compiler also provides mechanisms tointerface Fortran code with the Microsoft COM and NET environments Academicand student pricing is available
211 LaheyFujitsu
httpwwwlaheycom
LaheyFujitsu Fortran 95 is produced by the LaheyFujitsu alliance LF95 is avail-able in three Windows configurations Express Standard and PRO and two Linuxconfigurations Express and PRO All configurations feature VAX IBM and POSIXlanguage extensions allocatable array enhancements etc The Windows and LinuxExpress version is command line only and features the compiler linker and debug-ger PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-
22 CHAPTER 2 COMPILERS
TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creatingtrue Windows programs with Fortran and a Coverage Analysis Tool that detects un-executed code and performs range of operation checking The PRO is compatible withVisual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 Math Libraryand Visual Analyzer (see below) The PRO Linux version offers auto-parallelizationOpenMP compatibility thread-safe BLAS and LAPACK WiSK AUTOMAKE andFujitsus SSL2 All products come with free technical support and are available at Also available is a subset compiler elf90
It would appear that the Windows version is no longer under active developmentThe last update was dated December 2004
212 NAG
httpwwwnagcouknagwareasp
The NAG Fortran Compiler derived from the worldrsquos first Fortran 90 Compilerfrom NAG is robust highly tested and valued by developers all over the globe forits checking capabilities and detailed error reporting Available on a wide range ofUnix and Windows platforms it accepts fixed or free format Fortran 95 input andmany common Fortran 77 extensions are allowed A large number of Fortran 2003language features are now available HPF code is also compiled and checked thoughonly single processor output is generated The 53 release supports a good workingsubset of OpenMP 3
The following versions are availableApple Intel Mac64 Release 53 gcc 42HP PA-RISC 11 Release 51 HP ANSI CIBM Power AIX Release 51 AIX XL C 60IBM Z9 Linux Release 51 gcc 346IBM Z9 Open Edition Release 52 IBM CLinux x86-32 Release 53 gcc 322Linux64 Release 53 gcc 412Sun SPARC Solaris Release 52 gcc 342Sun SPARC Solaris Release 52 Sun C v 55x86 and x86-64 Windows Release 53An integrated Fortran IDE is also available for Windows
httpwwwnagcouknagwarenpfortranbuilderasp
213 NEC
httpwwwneccom
214 ORACLE - ORIGINALLY SUN 23
NEC has a native optimizing Fortran 95 compiler FORTRAN90SX with anautomatic vectorization and parallelization capability for its supercomputer SX se-ries HPFSX V2 provides functions conforming to the specification of HPF11 andHPF20 and can be used with vector processing functions in SX Fortran and withparallel processing functions using microtasking
214 Oracle - originally Sun
httpwwworaclecomussunindexhtm
httpwwwsuncom
httpdeveloperssuncomsunstudio
httpdeveloperssuncomsunstudiodownloadsexpress
Sun Studio software delivers high-performance optimizing C C++ and Fortrancompilers for the Solaris OS on SPARC and both Solaris and Linux on x86x64platforms including the latest multi-core systems
Whatrsquos in Sun StudioAll Compilers - Specify 32-bit or 64-bit Address Model Auto-parallelization of
single-threaded code Flags Static data-race and deadlock-detection for x86 Mathand Visual Instruction Set Support in SPARC64 VI Option for Floating-Point Fusedor Multiply-Add Instructions Option for Thread Analyzer support Linux SupportOpenMP and OpenMPI suport Support for the directives clauses and attributes
Fortran Compiler - Interval arithmetic support on Solaris Intel platform Fastercompilation time for source files UNSIGNED arguments Backward compatibilitywith f77
C Compiler - More options Auto-parallelization of single-threaded code GNU Ccompatibility
C++ Compiler - More options ABI compatibility Compiler flags to optimize formulticore architectures Static linking the standard C++ runtime library
215 PathScale
httpwwwpathscalecomproductspathscale_compiler_suite
PathScalersquos goal is to make it easier to develop and deploy 64-bit applications intoclustered environments PathScale has developed the industryrsquos highest-performanceC C++ and Fortran 9X compilers for 64-bit Linux-based computer systems ThePathScale Compiler Suite shares its heritage with the well-known and mature SGIcompiler suite The PathScale Compiler Suite has been optimized for both the
24 CHAPTER 2 COMPILERS
AMD64 and EM64T architectures and has the worldrsquos most sophisticated optimiza-tion infrastructure
Unlike other compilers the PathScale Compiler Suite provides superior perfor-mance across both floating-point and integer-intensive applications Application de-velopers targeting 64-bit Linux servers will see immediate performance benefits fromcompiling with the PathScale compilers
The PathScale Compiler Suite includesC C++ and Fortran 779095 compilers Industry leading optimizations Com-
plete support for OpenMP 20 (including WORKSHARE) Complete support for 64-bit and 32-bit x86 compilation Code generation for AMD64 ABI AMD Opteronand Intel EM64T PathScale optimized AMD Core Math Library (available for down-load) Advanced serial debugger PathDB Compatible with GNUgcc tool chain andpopular Third Party debuggers Supported on SUSE RedHat and Fedora Linux Thecurrently shipping version of the PathScale Compiler Suite is
216 PGI
httpwwwpgroupcom
High-performance Optimizing Parallel Compilers For multi-core 64-bit x64 and 32-bit x86 processor-based Linux Mac OS X and Windows workstations servers andclusters PGI Workstation includes a single seat license for PGIrsquos suite of compilersand tools Also available with a multi-user network floating license (PGI Server)The PGI CDK Cluster Development Kit includes all the software for building andprogramming a turn-key Linux cluster PGI Visual Fortran fully integrates PGIparallel Fortran into Microsoft Windows using Microsoft Visual Studio 2005
217 Silverfrost nee Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
Salford Software markets FTN95 a Fortran 95 compiler for Win32 running onWindows 95NT2000XP PCs It has announced its Fortran 95 compiler for Mi-crosoft NET (FTN95 for NET) This compiler will produce fast executables fromsource files that may be any combination of Fortran 77 Fortran 90 and Fortran 95FTN95 for NET including integrated Help and Debugger is supplied bundled withFTN95 for Win32 and optionally with Microsoft Visual Studio for NET A low-costfully-featured personal edition is also available
218 SGI
httpwwwsgicomproductssoftwareirixtoolsfortranhtml
219 SUN - SEE ORACLE 25
MIPSpro Fortran Compilers This 64-bit ANSI Fortran 77 compiler is ideal forsystems running IRIX 6x It is compatible with VAXVMS Fortran and supportsCray extensions The 74 version of the MIPSpro Fortran 77 and Fortran 90 compilersnow support the OpenMP 20 standard Among the new features introduced in theOpenMP 20 specification are
WORKSHARE directive COPYPRIVATE clause for the broadcast of sequentialreads Portable timing routines MIPSpro Fortran 90 Compiler A 64 bit ANSI Fortran90 compiler with additional support for user-defined multiprocessing directives forsystems running IRIX 6x Compatible with VAXVMS Fortran and supports Crayextensions With the release of version 74 Fortran 90 specific support under theOpenMP 20 standard are
Parallelization of F90 array syntax via the WORKSHARE directive Privatizationof deferred shape and assumed shape objects The full Fortran 20 specification canobtained from the OpenMP Web site at httpwwwopenmporg
For more information read about the MIPSpro compilers
219 Sun - see Oracle
220 No longer available
2201 Apogee
httpwwwapogeecom
Features of the FORTRAN 7790 CompilerNo longer available Originally available for the SolarisSPARC platforms the
compiler conforms to Sunrsquos Solaris ABI and produces assembler code files acceptableto Sunrsquos Solaris assembler When used in the FORTRAN 77 compilation modethe compiler is compliant with the MIL-STD 1753 FORTRAN 77 and accepts mostFORTRAN 77 extensions of Sun IBM and other F77 compilers The supportedF77 extensions include structures length qualification on types additional data andconstant types initializations in type statements additional statements (END DODO WHILE POINTER VOLATILE etc) computations with aggregates namelist-directed IOs and debugging statements
When used in the Fortran 90 mode the compiler is compliant with the ANSIISOFortran 90 standard
2202 Compaq
This compiler is no longer under development This ceased when Intel bought outthe technology from HP Still widely used with legacy software Copies for sale canbe found on Ebay and similar vites
26 CHAPTER 2 COMPILERS
2203 EPC
Edinburgh Portable Compilers was an early vendor to produce a Fortran 90 compila-tion system A report by Adam Marshall from Liverpool University has a comparisionof several early Fortran 90 compilers It can be found at the address below
httpwwwlivacukHPCFortranCompilerStudyHTMLFortranCompilerStudyHTMLhtml
2204 NA Software
httpwwwnasoftwarecoukhomehtml
No longer available
Chapter 3
Fortran aware editors and IDEs
bull Version 15 October 2011 Updated photran entry
bull Version 14 July 2010 Added SunStudio Express entry
bull Version 131 April 2006 Added Windows Zeus entry
31 Windows
311 Absoft Editor (ae)
httpwwwabsoftcom
312 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
313 compaq visual fortran 6x
Nolongeravailable
314 editeur
wwwstudiowarecom
315 emacsxemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
316 emacsxemacs - cygwin components
httpwwwcygwincom
28 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
317 gvimvim - stand alone
httpwwwvimorg
318 gvimvim - cygwin component
httpwwwcygwincom
319 jed wjed (Windows)
httpwwwjedsoftorgjed
3110 lahey ed
httpwwwlaheycom
3111 microsoft visual studio 6
No longer available
3112 Microsoft Visual StudioNET
There are a number of vendors that have provided integration with Microsoft VisualStudio NET These include
Intel Visual Fortranwwwintelcom
LaheyFujitsu Fortranwwwlaheycom
Silverfrost Salford FTN95httpwwwsilverfrostcom11ftn95overviewasp
3113 nedit - cygwin
httpwwwneditorg
3114 ntemacs
httpwwwgnuorgsoftwareemacswindowsntemacshtml
3115 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
32 LINUXUNIX 29
3116 salford plato
httpwwwsilverfrostcom11ftn95overviewasp
3117 Oracle Solaris Studio Express
httpdeveloperssuncomsunstudiodownloadsexpress
3118 UltraEdit
wwwultraeditcom
3119 xemacsemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
3120 xemacsemacs - cygwin components
httpwwwcygwincom
3121 Zeus ide
httpwwwzeuseditcomfortranhtml
32 LinuxUnix
321 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
322 emacsxemacs
httpwwwgnuorgsoftwareemacsemacshtml
323 jed xjed (Unix(all flavours)OpenVMS) wjed (Win-dows)
httpwwwjedsoftorgjed
324 nedit
httpwwwneditorg
30 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
325 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
33 Apple OS X
331 Absoft Editor
httpwwwabsoftcom
332 BBEdit
httpwwwapplecomdownloadsmacosxproductivity_toolsbbedithtml
httpwwwbarebonescomproductsbbeditindexshtml
333 emacsxemacs
pre-installed
334 Photran
wwwphotranorg
335 Smultron
httpsmultronsourceforgenet
336 TextMate
httpmacromatescom
337 TextWrangler
httpwwwapplecomdownloadsmacosxproductivity_toolstextwranglerhtml
httpwwwbarebonescomproductstextwranglerindexshtml
338 Vim
Pre-installed
33 APPLE OS X 31
339 Xcode
httpdeveloperapplecom
3310 xemacsemacs
pre-installed
32 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
Chapter 4
Commercial Courses
bull Version 14 August 2012 Updated several entries
bull Version 13 November 2011 Notified by Shaun Forth at Cranfield of theirchanges Also added the HECToR entries
bull Version 12 August 2010
bull Version 11 September 2008
bull Version 10 January 2006
41 Ian Chivers and Jane Sleightholme
Ian Chivers and Jane Sleightholme are available to do tailored on site courses Coursesinclude
bull Introduction to Modern Programming in Fortran
bull Advanced Features of Modern Fortran
See
httpwwwfortranpluscouk
42 Cranfield University
Cranfield University offers four Fortran programming courses
bull Introduction to Programming in Fortran 95 and 2003 (3 days)
bull Advanced Programming in Fortran 95 and 2003 (3 days)
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
12 CHAPTER 1 BOOKS
bull Chivers ID Sleightholme J Introducing Fortran 90 1995 Springer ISBN3-540-19940-3
bull Ellis Philips Lahey Fortran 90 Programming 1994 Addison Wesley ISBN0-201-54446-6
bull Etter Fortran 90 for Engineers 1995 BenjaminCummings ISBN 0-201544-46-6
bull Gehrke Fortran 90 Language Guide 1996 Springer ISBN 3-540-19926-8
bull Hahn DB Fortran 90 for Scientists and Engineers 1994 Edward Arnold ISBN0-340-60034-9
bull Huddleston Fortran 90 1996 Exchange Publ Div ISBN 0-945261-07-1
bull Kerrigan JF Migrating to Fortran 90 1993 OrsquoReilly ISBN 1-56592-049-X
bull Meissner LP Fortran 90 1995 PWS Kent ISBN 0-534-93372-6
bull Metcalf M Reid J Fortran 90 Explained 1990 Oxford University Press ISBN0-19-853772-7
bull Morgan amp Schonfelder Programming in Fortran 90 1993 Alfe4d Waller ISBN1-872474-06-3
bull Nyhoff Leestma Fortran 90 for Engineers and Scientists1 1996 PrenticeHall ISBN 0-13-519729-5
bull Nyhoff Leestma An introduction to Fortran 90 for Engineers and Scientists1996 Prentice Hall ISBN 0-13-505215-7
bull Redwine Upgrading to Fortran 90 1995 Springer-Verlag ISBN 0-387-97995-6
bull Schick Silverman Fortran 90 and Engineering Computation 1994 JohnWiley ISBN 0-471-58512-2
bull Smith IM Programming in Fortran 90 Wiley ISBN 0471-94185-9
bull Wagener Fortran 90 Concise Reference 1998 Absoft ISBN 0-9670066-0-0
14 English books on related topics
bull Advanced Scientific Computing - Wille Wiley 1995 ISBN 0471-95383-0
bull Atlas for Computing Mathematical Functions in Fortran 90 and Mathematica- Thompson Wiley 1997 0-471-18171-4
15 CHINESE 13
bull Contemporary Computing for Technical Engineers and Scientists using Fortran90 and spreadsheets - Forsythe PWS 1997 0-534-93139-1
bull Numerical Recipes in Fortran 90 The Art of Parallel Scientific ComputingVolume 2 of Fortran Numerical Recipes - Press Teukolsky Vetterling and Flan-nery Cambridge U Press ISBN 0-521-57439-0 1996 Code can be downloaded(purchased) from httpwwwnrcom A CDROM is also available (see Website)
15 Chinese
bull Introduction to Programming with Fortran with coverage of Fortran 90 952003 and 77 Ian Chivers and Jane Sleightholme Posts and Telecom Pressand Springer-Verlag London 2009 ISBN 978-7-115-21227-6 (A translation ofIntroduction to Programming in Fortran)
bull Programming Language Fortran 90 - He Xingui Xu Zuyuan Wu Qingbao andChen Ming yuan China Railway Publishing House Beijing ISBN 7-113-01788-6TP187 1994
bull Fortran 90 - Walter S Brainerd Charles H Goldberg Jeanne C Adams CHEPBeijing and Springer Berlin 2000 ISBN 7-04-007937-2 (a translation of Pro-grammerrsquos Guide to Fortran 90)
16 Dutch
bull Fortran 90 - WS Brainerd ChH Goldberg and JC Adams translated byJM den Haan Academic Service 1991 ISBN 90 6233 722 8
17 Finnish
bull Fortran 9095 - Juha Haataja Jussi Rahola and Juha Ruokolainen Center forScientific Computing (Finland) 2001 339 pages 3rd edition ISBN 952-9821-60-3 WWW version httpwwwcscfioppaatf95
18 French
bull Fortran 90 Approche par la Pratique - P Lignelet Srie Informatique ditionsMenton 1993 ISBN 2-909615-01-4
bull Fortran 90 Les concepts fondamentaux the translation of Fortran 90 Ex-plained M Metcalf J Reid translated by M Caillat and B Pichon AFNOR1993 Paris ISBN 2-12-486513-7
14 CHAPTER 1 BOOKS
bull Fortran 90 Initiation partir du Fortran 77 - Aberti Srie Informatique ditionsMenton 1992 ISBN 2-909615-00-6
bull Les spcificits du Fortran 90 M Dubesset et J Vignes ditions Technip 1993 ISBN 2-7108-0652-5
bull Manuel complet du langage Fortran 90 et guide dapplication P Lignelet SrieInformatique ditions 1995 ISBN 2-909615-02-2
bull Manuel Complet du Langage Fortran 90 et Fortran 95 Calcul intensif et GnieLogiciel P Lignelet Masson ditions Paris 1996 ISBN 2-225-85229-4
bull Programmer en Fortran 90 C Delannoy Eyrolles 1992 ISBN 2-212-08723-3
bull Traitement des donnes numriques avec Fortran 90 M Olagnon Masson ditions1996 ISBN 2-225-85259-6
bull Structures des donnes (et leurs algorithmes) en Fortran 9095 P LigneletMasson ditions Paris ISBN 2-225-85373-8
19 German
bull Fortran 90 Lehrbuch D Rabenstein Hanser 1995 ISBN 3-446-18235-7
bull Die Programmiersprache F W Gehrke Springer-Verlag ISBN 3-540-63376-6
bull Fortran 90 - BWojcieszynski and RWojcieszynski Addison-Wesley 1993 ISBN3-89319-600-5
bull Fortran 90 eine informelle Einfhrung M Heisterkamp BI-Wissenschaftsverlag1991 ISBN 3-411-15321-0
bull Fortran 90 Kurs technisch orientiert - G Schmitt Oldenbourg 1996 ISBN3-486-23896-5
bull Fortran 90 Lehr- und Arbeitsbuch fr das erfolgreiche Programmieren WSBrainerd CH Goldberg and JC Adams translated by Peter Thomas andKlaus G Paul R Olbenbourg Verlag Muenchen 1994 ISBN 3-486-22102-7
bull Fortran 90 Lehr- und Handbuch - T Michel BI-Wissenschaftsverlag 1994
bull Fortran 90 Referenz-Handbuch der neue Fortran-Standard W Gehrke CarlHansen Verlag 1991 ISBN3-446-16321-2
bull Programmierung in Fortran 90 - Schobert Oldenburg 1991
bull Programmierung mit Fortran 90 - Bumer Vieweg Braunschweig 1997 ISBN3-528-05208-2
110 ITALIAN 15
bull Programmieren in Fortran - Erasmus Langer Springer-Verlag Wien New York1993 ISBN 3-211-82446-4 0-387-82446-4
bull Software Entwicklung in Fortran 90 - berhuber and Meditz Springer Verlag1993 ISBN 0-387-82450-2
110 Italian
bull Some resources in Italian including a manual are at
httpspacetinitcomputergciabu
bull Programmare con Fortran G Ciaburro FAG 2008 ISBN 9788882336882
wwwciaburroitf90librohtm
httpwwwibsitcode9788882336882ciaburro-giuseppeprogrammare-con-fortranhtml
111 Japanese
bull Fortran 90 Explained - Metcalf and Reid translated by H Nisimura H WadaK Nishimura M Takata Kyoritsu Shuppan Co Ltd 1993 ISSN 0385-6984
112 Russian
bull An Explanation of the Fortran 90 Programming Language (translation of For-tran 90 Explained - Metcalf and Reid) translated P Gorbounov Mir Moscow1995 ISBN 5-03-001426-8 Available also from PetrGorbounovcernch
bull FORTRAN 77 to Fortran 90 Tutorial - Einarsson and Shokin Russian Academyof Sciences Novosibirsk 1995 ISBN 5-85826-013-6
113 Swedish
bull Fortran 90 - en introduktion - Blom Studentlitteratur Lund 1994 ISBN 91-44-47881-X
16 CHAPTER 1 BOOKS
Chapter 2
Compilers
bull Version 110 August 2012 Updated Nag entry 53 release supports openMPAlso updated product availability entry
bull Version 19 November 2010 Updated Absoft in response to an email fromWood Lotz
bull Version 18 July 2010 Updated Sun to reflect takeover by Oracle UpdatedSalford to reflect Silverfrost rebranding
bull Version 17 June 2009 Updated the Cray and Intel entries Added a newsection on compilers that are no longer available This has involved moving theentries on Apogee Compaq and NA Software into this section For historicalcompleteness wersquove also added an entry for EPC to this section
bull Version 16 September 2008 Updated the NAG entry with more details of theFortran Builder IDE
bull Version 15 September 2007 Updated Absoft Entry Compaq Fortran Com-pany Fujitsu Gnu Fortran 95 G95 IBM Intel LaheyFujitsu NAG NASoftware NEC Pathscale PGI SalfordSilverfrost SGI Sun
21 Introduction
The following is a list of companies and organisations that provide Fortran compilersthat conform to the Fortran 90 95 2003 and 2008 standards Fortran Forum hasa more or less standing table on compilers that support features from the 2003 and2008 standards The gfortran g95 and Sun compilers are free for Linux and gfortranand g95 are free for Windows
22 Absoft
httpwwwabsoftcom
18 CHAPTER 2 COMPILERS
Absoft Pro Fortran is a complete tool suite designed to automate building par-allel code on Linux Windows or Mac OSIntel Absoft Rolls are also available forx64Linux Compilers are full F95 include all popular legacy extensions many fromF2003 and are fully link and debug compatible with the host (Linux Microsoft MacOS) tool chain Compilers offer automatic parallelization vectorization OpenMP 30GPU support and Absoft application performance is consistently rated 1 on AMDand Intel systems by third party benchmarks IDE includes SMP graphical analyzerFx3 graphical multi-language debugger programmers editor several Fortran specificfeatures OpenMP and MPI controls math libraries VAXUnix libraries and 2D3Dgraphics Same look feel and functionality on all systems Nothing else to buy orlearn IMSL numerical libraries are a bundle option on all platforms
23 Cray
httpwwwcraycom
Cray has a fully optimizing Fortran 2003 compiler available for the Cray XT seriessystems This compiler also supports OpenMP and several Fortran 2008 featuresincluding submodules and coarrays
Cray has a fully-optimizing Fortran 95 compiler available for the Cray PVP (J90SV1) T3E and X1 systems The PVP compiler supports automatic parallization andOpenMP The T3E compiler supports coarrays The X1 compiler supports automaticstreaming OpenMP coarrays and many Fortran 2003 featuresrdquo
24 Fortran Company
httpwwwfortrancom
The Fortran Company offers F the subset language for Unix and Windows somein highly optimizing versions All of the full professional versions of the F compilerare available free by downloading them from the F anonymous ftp directory
The Fortran Tools include a Fortran 95 compiler with a graphical user interfacethat runs on Linux or Windows on a CD The CD also includes several Fortran booksin PDF format and many tools such as Matran a matrix computation library thatuses the highly tuned Atlas libraries a plotting package and a library of routines tocreate GUIs for your Fortran application programs
25 Fujitsu
httpwwwfujitsucomglobal
26 GNU FORTRAN 95 19
Fortran 95 (Solaris) A powerful updated development system used for FORTRANproductive applications Current version Sun Studio 9
The ISO Fortran 95 Standard is fully supported additionally there are enhance-ments for Fortran77 such as pointersstructures binaryoctalhexadecimal constantsetc High optimization includes automatic parallelization and OpenMP support AFortran runtime system optimized for UltraSPARC is now also included in the pack-age The development environment consists of the following components
Workbench An integral development environment for the CC++ and Fortrancompilers for compiler control program execution debugging performance analysiscoverage etc with a Motif-based graphical user interface (GUI)
Visual Analyzer A development and migration tool for CC++ and Fortranprograms The enclosed Source Analyzer allows the static program structure and theglobal data relations to be visualized It contains a class browser cross referencesand a calling graph viewer
Parallel Analyser Consists of an integrated development environment for theOpenMP programming It contains a manager a debugger and a profiler
Fujitsu also has a Fortran 95 compiler for Linux and a highly optimized nativeFortran 95 compiler FortranVPP and HPF for its VPP supercomputers
26 Gnu Fortran 95
httpgccgnuorgwikiGFortran
httpgccgnuorgfortran
Gfortran is the name of the GNU Fortran project developing a free Fortran 952003compiler for GCC the GNU Compiler Collection The gfortran development effortuses an open development environment in order to attract a larger team of devel-opers and to ensure that gfortran can work on multiple architectures and diverseenvironments The GNU Fortran 95 project or gfortran is developing a Fortran 95compiler front end as well as runtime libraries for GCC the GNU Compiler Col-lection Gfortran development is a part of the GNU project aiming to bring freenumber crunching to all GNU system variants The gfortran development effort usesan open development environment in order to attract a larger team of developers andto ensure that gfortran can work on multiple architectures and diverse environmentsIn particular the project wishes to reach the users of the Fortran 95 language beit in the scientific community in education or in a commercial environment Todaytruly free Fortran 90 or Fortran 95 compilers do not exist We are trying to makeone available to the Fortran community
27 g95
httpwwwg95org
20 CHAPTER 2 COMPILERS
g95 is a stable production Fortran 95 compiler available for multiple cpu architec-tures and operating systems Innovations and optimizations continue to be workedon Parts of the F2003 standard have been implemented in g95
28 Hewlett Packard
The web address that describes all of the compilers and supported hardware andoperating systems is
httph21007www2hpcomdspptechtech_TechSoftwareDetailPage_IDX11703623500h
HPrsquos Fortran products are available for multiple platforms Windows Tru64 UNIXAlphaServer systems Linux AlphaServer systems and HP OpenVMS (Alpha VAX)
Visual Fortran for WindowsFortran for Linux AlphaFortran for Tru64 UNIX AlphaFortran for HP OpenVMS AlphaFortran for HP OpenVMS IntegrityFortran for HP OpenVMS VAXFortran for HP-UXThe Windows product Compaq Visual Fortran includes the Microsoft Developer
Studio IDE which can be shared with Microsoft Visual C++ Parallel execution usingOpenMP-directed decomposition or HPF is included on the Tru64 UNIX platformOn Windows NT SMP parallel execution using directed decomposition is availablethrough Visual Compaq Fortran for Linux Alpha Systems is available as a freedownload under a Technology Enthusiast license for non-commercial use All Com-paq Fortran 95 products include the Compaq Extended Math Library of optimizedscientific subroutines and the allocatable array extensions
29 IBM
httpwww-306ibmcomsoftwareawdtoolsfortran
httpwww-306ibmcomsoftwareawdtoolsfortranxlfortranfeaturesf2003html
XL Fortran Enterprise Edition for AIX XL Fortran Enterprise Edition for AIX pro-vides industry-leading code optimization and tuning features a full implementationof the OpenMP API Version 25 Symmetric Multiprocessing (SMP) APIs directmanipulation of the floating-point status and control register 64-bit enablementasynchronous IO debug memory routines and many other features
XL Fortran Advanced Edition for Blue Gene XL Fortran Advanced Edition forBlue Gene is the latest addition to our XL Fortran compiler family It expands our
210 INTEL 21
proven XL Fortarn compiler technology to exploit the capabilities of the PowerPC440 and 440d processors used in IBM Blue GeneL supercomputers
XL Fortran Advanced Edition for Linux XL Fortran Advanced Edition for Linuxsupports your choice of RHEL4 SLES9 and Y-HPC Linux distributions Advancedoptimization technology and VMX support help you create high-performance 32-bitand 64-bit applications that run efficiently on a variety of processor architecturesincluding IBMrsquos newest POWER5+ and PowerPC 970 processors and Apple PowerMac G5 and Xserve G5 systems
VS FORTRAN VS FORTRAN contains features geared to help Fortran program-mers develop applications more easily and efficiently while using the full power ofIBMrsquos large systems
The second web link has details of Fortran 2003 support
210 Intel
httpsoftwareintelcomen-usintel-compilers
Intel offers optimizing Fortran compilers for the IA-32 x64 and IA-64 (Intel Ita-nium) architectures running the Linux Mac OS X (IA-32 and x64) or Windows op-erating systems Intel Fortran is fully compliant with Fortran 95 and supports mostof Fortran 2003 as well as many popular extensions The compiler offers automaticparallelization and vectorization and supports OpenMP 30 as well as generatingoptimized code for the latest Intel processors and compatible non-Intel processors
On all platforms the Intel Fortran compiler includes the Intel Math Kernel Li-brary a library of highly optimized extensively threaded math routines for scienceengineering and financial applications The IMSL Fortran Numeric Library 60 fromVisual Numerics is an option on Windows
On Windows the compiler integrates into Microsoft Visual Studio 2003 2005 or2008 and includes a self-sufficient Fortran development environment based on Mi-crosoft Visual Studio 2008 The Windows compiler also provides mechanisms tointerface Fortran code with the Microsoft COM and NET environments Academicand student pricing is available
211 LaheyFujitsu
httpwwwlaheycom
LaheyFujitsu Fortran 95 is produced by the LaheyFujitsu alliance LF95 is avail-able in three Windows configurations Express Standard and PRO and two Linuxconfigurations Express and PRO All configurations feature VAX IBM and POSIXlanguage extensions allocatable array enhancements etc The Windows and LinuxExpress version is command line only and features the compiler linker and debug-ger PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-
22 CHAPTER 2 COMPILERS
TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creatingtrue Windows programs with Fortran and a Coverage Analysis Tool that detects un-executed code and performs range of operation checking The PRO is compatible withVisual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 Math Libraryand Visual Analyzer (see below) The PRO Linux version offers auto-parallelizationOpenMP compatibility thread-safe BLAS and LAPACK WiSK AUTOMAKE andFujitsus SSL2 All products come with free technical support and are available at Also available is a subset compiler elf90
It would appear that the Windows version is no longer under active developmentThe last update was dated December 2004
212 NAG
httpwwwnagcouknagwareasp
The NAG Fortran Compiler derived from the worldrsquos first Fortran 90 Compilerfrom NAG is robust highly tested and valued by developers all over the globe forits checking capabilities and detailed error reporting Available on a wide range ofUnix and Windows platforms it accepts fixed or free format Fortran 95 input andmany common Fortran 77 extensions are allowed A large number of Fortran 2003language features are now available HPF code is also compiled and checked thoughonly single processor output is generated The 53 release supports a good workingsubset of OpenMP 3
The following versions are availableApple Intel Mac64 Release 53 gcc 42HP PA-RISC 11 Release 51 HP ANSI CIBM Power AIX Release 51 AIX XL C 60IBM Z9 Linux Release 51 gcc 346IBM Z9 Open Edition Release 52 IBM CLinux x86-32 Release 53 gcc 322Linux64 Release 53 gcc 412Sun SPARC Solaris Release 52 gcc 342Sun SPARC Solaris Release 52 Sun C v 55x86 and x86-64 Windows Release 53An integrated Fortran IDE is also available for Windows
httpwwwnagcouknagwarenpfortranbuilderasp
213 NEC
httpwwwneccom
214 ORACLE - ORIGINALLY SUN 23
NEC has a native optimizing Fortran 95 compiler FORTRAN90SX with anautomatic vectorization and parallelization capability for its supercomputer SX se-ries HPFSX V2 provides functions conforming to the specification of HPF11 andHPF20 and can be used with vector processing functions in SX Fortran and withparallel processing functions using microtasking
214 Oracle - originally Sun
httpwwworaclecomussunindexhtm
httpwwwsuncom
httpdeveloperssuncomsunstudio
httpdeveloperssuncomsunstudiodownloadsexpress
Sun Studio software delivers high-performance optimizing C C++ and Fortrancompilers for the Solaris OS on SPARC and both Solaris and Linux on x86x64platforms including the latest multi-core systems
Whatrsquos in Sun StudioAll Compilers - Specify 32-bit or 64-bit Address Model Auto-parallelization of
single-threaded code Flags Static data-race and deadlock-detection for x86 Mathand Visual Instruction Set Support in SPARC64 VI Option for Floating-Point Fusedor Multiply-Add Instructions Option for Thread Analyzer support Linux SupportOpenMP and OpenMPI suport Support for the directives clauses and attributes
Fortran Compiler - Interval arithmetic support on Solaris Intel platform Fastercompilation time for source files UNSIGNED arguments Backward compatibilitywith f77
C Compiler - More options Auto-parallelization of single-threaded code GNU Ccompatibility
C++ Compiler - More options ABI compatibility Compiler flags to optimize formulticore architectures Static linking the standard C++ runtime library
215 PathScale
httpwwwpathscalecomproductspathscale_compiler_suite
PathScalersquos goal is to make it easier to develop and deploy 64-bit applications intoclustered environments PathScale has developed the industryrsquos highest-performanceC C++ and Fortran 9X compilers for 64-bit Linux-based computer systems ThePathScale Compiler Suite shares its heritage with the well-known and mature SGIcompiler suite The PathScale Compiler Suite has been optimized for both the
24 CHAPTER 2 COMPILERS
AMD64 and EM64T architectures and has the worldrsquos most sophisticated optimiza-tion infrastructure
Unlike other compilers the PathScale Compiler Suite provides superior perfor-mance across both floating-point and integer-intensive applications Application de-velopers targeting 64-bit Linux servers will see immediate performance benefits fromcompiling with the PathScale compilers
The PathScale Compiler Suite includesC C++ and Fortran 779095 compilers Industry leading optimizations Com-
plete support for OpenMP 20 (including WORKSHARE) Complete support for 64-bit and 32-bit x86 compilation Code generation for AMD64 ABI AMD Opteronand Intel EM64T PathScale optimized AMD Core Math Library (available for down-load) Advanced serial debugger PathDB Compatible with GNUgcc tool chain andpopular Third Party debuggers Supported on SUSE RedHat and Fedora Linux Thecurrently shipping version of the PathScale Compiler Suite is
216 PGI
httpwwwpgroupcom
High-performance Optimizing Parallel Compilers For multi-core 64-bit x64 and 32-bit x86 processor-based Linux Mac OS X and Windows workstations servers andclusters PGI Workstation includes a single seat license for PGIrsquos suite of compilersand tools Also available with a multi-user network floating license (PGI Server)The PGI CDK Cluster Development Kit includes all the software for building andprogramming a turn-key Linux cluster PGI Visual Fortran fully integrates PGIparallel Fortran into Microsoft Windows using Microsoft Visual Studio 2005
217 Silverfrost nee Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
Salford Software markets FTN95 a Fortran 95 compiler for Win32 running onWindows 95NT2000XP PCs It has announced its Fortran 95 compiler for Mi-crosoft NET (FTN95 for NET) This compiler will produce fast executables fromsource files that may be any combination of Fortran 77 Fortran 90 and Fortran 95FTN95 for NET including integrated Help and Debugger is supplied bundled withFTN95 for Win32 and optionally with Microsoft Visual Studio for NET A low-costfully-featured personal edition is also available
218 SGI
httpwwwsgicomproductssoftwareirixtoolsfortranhtml
219 SUN - SEE ORACLE 25
MIPSpro Fortran Compilers This 64-bit ANSI Fortran 77 compiler is ideal forsystems running IRIX 6x It is compatible with VAXVMS Fortran and supportsCray extensions The 74 version of the MIPSpro Fortran 77 and Fortran 90 compilersnow support the OpenMP 20 standard Among the new features introduced in theOpenMP 20 specification are
WORKSHARE directive COPYPRIVATE clause for the broadcast of sequentialreads Portable timing routines MIPSpro Fortran 90 Compiler A 64 bit ANSI Fortran90 compiler with additional support for user-defined multiprocessing directives forsystems running IRIX 6x Compatible with VAXVMS Fortran and supports Crayextensions With the release of version 74 Fortran 90 specific support under theOpenMP 20 standard are
Parallelization of F90 array syntax via the WORKSHARE directive Privatizationof deferred shape and assumed shape objects The full Fortran 20 specification canobtained from the OpenMP Web site at httpwwwopenmporg
For more information read about the MIPSpro compilers
219 Sun - see Oracle
220 No longer available
2201 Apogee
httpwwwapogeecom
Features of the FORTRAN 7790 CompilerNo longer available Originally available for the SolarisSPARC platforms the
compiler conforms to Sunrsquos Solaris ABI and produces assembler code files acceptableto Sunrsquos Solaris assembler When used in the FORTRAN 77 compilation modethe compiler is compliant with the MIL-STD 1753 FORTRAN 77 and accepts mostFORTRAN 77 extensions of Sun IBM and other F77 compilers The supportedF77 extensions include structures length qualification on types additional data andconstant types initializations in type statements additional statements (END DODO WHILE POINTER VOLATILE etc) computations with aggregates namelist-directed IOs and debugging statements
When used in the Fortran 90 mode the compiler is compliant with the ANSIISOFortran 90 standard
2202 Compaq
This compiler is no longer under development This ceased when Intel bought outthe technology from HP Still widely used with legacy software Copies for sale canbe found on Ebay and similar vites
26 CHAPTER 2 COMPILERS
2203 EPC
Edinburgh Portable Compilers was an early vendor to produce a Fortran 90 compila-tion system A report by Adam Marshall from Liverpool University has a comparisionof several early Fortran 90 compilers It can be found at the address below
httpwwwlivacukHPCFortranCompilerStudyHTMLFortranCompilerStudyHTMLhtml
2204 NA Software
httpwwwnasoftwarecoukhomehtml
No longer available
Chapter 3
Fortran aware editors and IDEs
bull Version 15 October 2011 Updated photran entry
bull Version 14 July 2010 Added SunStudio Express entry
bull Version 131 April 2006 Added Windows Zeus entry
31 Windows
311 Absoft Editor (ae)
httpwwwabsoftcom
312 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
313 compaq visual fortran 6x
Nolongeravailable
314 editeur
wwwstudiowarecom
315 emacsxemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
316 emacsxemacs - cygwin components
httpwwwcygwincom
28 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
317 gvimvim - stand alone
httpwwwvimorg
318 gvimvim - cygwin component
httpwwwcygwincom
319 jed wjed (Windows)
httpwwwjedsoftorgjed
3110 lahey ed
httpwwwlaheycom
3111 microsoft visual studio 6
No longer available
3112 Microsoft Visual StudioNET
There are a number of vendors that have provided integration with Microsoft VisualStudio NET These include
Intel Visual Fortranwwwintelcom
LaheyFujitsu Fortranwwwlaheycom
Silverfrost Salford FTN95httpwwwsilverfrostcom11ftn95overviewasp
3113 nedit - cygwin
httpwwwneditorg
3114 ntemacs
httpwwwgnuorgsoftwareemacswindowsntemacshtml
3115 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
32 LINUXUNIX 29
3116 salford plato
httpwwwsilverfrostcom11ftn95overviewasp
3117 Oracle Solaris Studio Express
httpdeveloperssuncomsunstudiodownloadsexpress
3118 UltraEdit
wwwultraeditcom
3119 xemacsemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
3120 xemacsemacs - cygwin components
httpwwwcygwincom
3121 Zeus ide
httpwwwzeuseditcomfortranhtml
32 LinuxUnix
321 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
322 emacsxemacs
httpwwwgnuorgsoftwareemacsemacshtml
323 jed xjed (Unix(all flavours)OpenVMS) wjed (Win-dows)
httpwwwjedsoftorgjed
324 nedit
httpwwwneditorg
30 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
325 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
33 Apple OS X
331 Absoft Editor
httpwwwabsoftcom
332 BBEdit
httpwwwapplecomdownloadsmacosxproductivity_toolsbbedithtml
httpwwwbarebonescomproductsbbeditindexshtml
333 emacsxemacs
pre-installed
334 Photran
wwwphotranorg
335 Smultron
httpsmultronsourceforgenet
336 TextMate
httpmacromatescom
337 TextWrangler
httpwwwapplecomdownloadsmacosxproductivity_toolstextwranglerhtml
httpwwwbarebonescomproductstextwranglerindexshtml
338 Vim
Pre-installed
33 APPLE OS X 31
339 Xcode
httpdeveloperapplecom
3310 xemacsemacs
pre-installed
32 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
Chapter 4
Commercial Courses
bull Version 14 August 2012 Updated several entries
bull Version 13 November 2011 Notified by Shaun Forth at Cranfield of theirchanges Also added the HECToR entries
bull Version 12 August 2010
bull Version 11 September 2008
bull Version 10 January 2006
41 Ian Chivers and Jane Sleightholme
Ian Chivers and Jane Sleightholme are available to do tailored on site courses Coursesinclude
bull Introduction to Modern Programming in Fortran
bull Advanced Features of Modern Fortran
See
httpwwwfortranpluscouk
42 Cranfield University
Cranfield University offers four Fortran programming courses
bull Introduction to Programming in Fortran 95 and 2003 (3 days)
bull Advanced Programming in Fortran 95 and 2003 (3 days)
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
15 CHINESE 13
bull Contemporary Computing for Technical Engineers and Scientists using Fortran90 and spreadsheets - Forsythe PWS 1997 0-534-93139-1
bull Numerical Recipes in Fortran 90 The Art of Parallel Scientific ComputingVolume 2 of Fortran Numerical Recipes - Press Teukolsky Vetterling and Flan-nery Cambridge U Press ISBN 0-521-57439-0 1996 Code can be downloaded(purchased) from httpwwwnrcom A CDROM is also available (see Website)
15 Chinese
bull Introduction to Programming with Fortran with coverage of Fortran 90 952003 and 77 Ian Chivers and Jane Sleightholme Posts and Telecom Pressand Springer-Verlag London 2009 ISBN 978-7-115-21227-6 (A translation ofIntroduction to Programming in Fortran)
bull Programming Language Fortran 90 - He Xingui Xu Zuyuan Wu Qingbao andChen Ming yuan China Railway Publishing House Beijing ISBN 7-113-01788-6TP187 1994
bull Fortran 90 - Walter S Brainerd Charles H Goldberg Jeanne C Adams CHEPBeijing and Springer Berlin 2000 ISBN 7-04-007937-2 (a translation of Pro-grammerrsquos Guide to Fortran 90)
16 Dutch
bull Fortran 90 - WS Brainerd ChH Goldberg and JC Adams translated byJM den Haan Academic Service 1991 ISBN 90 6233 722 8
17 Finnish
bull Fortran 9095 - Juha Haataja Jussi Rahola and Juha Ruokolainen Center forScientific Computing (Finland) 2001 339 pages 3rd edition ISBN 952-9821-60-3 WWW version httpwwwcscfioppaatf95
18 French
bull Fortran 90 Approche par la Pratique - P Lignelet Srie Informatique ditionsMenton 1993 ISBN 2-909615-01-4
bull Fortran 90 Les concepts fondamentaux the translation of Fortran 90 Ex-plained M Metcalf J Reid translated by M Caillat and B Pichon AFNOR1993 Paris ISBN 2-12-486513-7
14 CHAPTER 1 BOOKS
bull Fortran 90 Initiation partir du Fortran 77 - Aberti Srie Informatique ditionsMenton 1992 ISBN 2-909615-00-6
bull Les spcificits du Fortran 90 M Dubesset et J Vignes ditions Technip 1993 ISBN 2-7108-0652-5
bull Manuel complet du langage Fortran 90 et guide dapplication P Lignelet SrieInformatique ditions 1995 ISBN 2-909615-02-2
bull Manuel Complet du Langage Fortran 90 et Fortran 95 Calcul intensif et GnieLogiciel P Lignelet Masson ditions Paris 1996 ISBN 2-225-85229-4
bull Programmer en Fortran 90 C Delannoy Eyrolles 1992 ISBN 2-212-08723-3
bull Traitement des donnes numriques avec Fortran 90 M Olagnon Masson ditions1996 ISBN 2-225-85259-6
bull Structures des donnes (et leurs algorithmes) en Fortran 9095 P LigneletMasson ditions Paris ISBN 2-225-85373-8
19 German
bull Fortran 90 Lehrbuch D Rabenstein Hanser 1995 ISBN 3-446-18235-7
bull Die Programmiersprache F W Gehrke Springer-Verlag ISBN 3-540-63376-6
bull Fortran 90 - BWojcieszynski and RWojcieszynski Addison-Wesley 1993 ISBN3-89319-600-5
bull Fortran 90 eine informelle Einfhrung M Heisterkamp BI-Wissenschaftsverlag1991 ISBN 3-411-15321-0
bull Fortran 90 Kurs technisch orientiert - G Schmitt Oldenbourg 1996 ISBN3-486-23896-5
bull Fortran 90 Lehr- und Arbeitsbuch fr das erfolgreiche Programmieren WSBrainerd CH Goldberg and JC Adams translated by Peter Thomas andKlaus G Paul R Olbenbourg Verlag Muenchen 1994 ISBN 3-486-22102-7
bull Fortran 90 Lehr- und Handbuch - T Michel BI-Wissenschaftsverlag 1994
bull Fortran 90 Referenz-Handbuch der neue Fortran-Standard W Gehrke CarlHansen Verlag 1991 ISBN3-446-16321-2
bull Programmierung in Fortran 90 - Schobert Oldenburg 1991
bull Programmierung mit Fortran 90 - Bumer Vieweg Braunschweig 1997 ISBN3-528-05208-2
110 ITALIAN 15
bull Programmieren in Fortran - Erasmus Langer Springer-Verlag Wien New York1993 ISBN 3-211-82446-4 0-387-82446-4
bull Software Entwicklung in Fortran 90 - berhuber and Meditz Springer Verlag1993 ISBN 0-387-82450-2
110 Italian
bull Some resources in Italian including a manual are at
httpspacetinitcomputergciabu
bull Programmare con Fortran G Ciaburro FAG 2008 ISBN 9788882336882
wwwciaburroitf90librohtm
httpwwwibsitcode9788882336882ciaburro-giuseppeprogrammare-con-fortranhtml
111 Japanese
bull Fortran 90 Explained - Metcalf and Reid translated by H Nisimura H WadaK Nishimura M Takata Kyoritsu Shuppan Co Ltd 1993 ISSN 0385-6984
112 Russian
bull An Explanation of the Fortran 90 Programming Language (translation of For-tran 90 Explained - Metcalf and Reid) translated P Gorbounov Mir Moscow1995 ISBN 5-03-001426-8 Available also from PetrGorbounovcernch
bull FORTRAN 77 to Fortran 90 Tutorial - Einarsson and Shokin Russian Academyof Sciences Novosibirsk 1995 ISBN 5-85826-013-6
113 Swedish
bull Fortran 90 - en introduktion - Blom Studentlitteratur Lund 1994 ISBN 91-44-47881-X
16 CHAPTER 1 BOOKS
Chapter 2
Compilers
bull Version 110 August 2012 Updated Nag entry 53 release supports openMPAlso updated product availability entry
bull Version 19 November 2010 Updated Absoft in response to an email fromWood Lotz
bull Version 18 July 2010 Updated Sun to reflect takeover by Oracle UpdatedSalford to reflect Silverfrost rebranding
bull Version 17 June 2009 Updated the Cray and Intel entries Added a newsection on compilers that are no longer available This has involved moving theentries on Apogee Compaq and NA Software into this section For historicalcompleteness wersquove also added an entry for EPC to this section
bull Version 16 September 2008 Updated the NAG entry with more details of theFortran Builder IDE
bull Version 15 September 2007 Updated Absoft Entry Compaq Fortran Com-pany Fujitsu Gnu Fortran 95 G95 IBM Intel LaheyFujitsu NAG NASoftware NEC Pathscale PGI SalfordSilverfrost SGI Sun
21 Introduction
The following is a list of companies and organisations that provide Fortran compilersthat conform to the Fortran 90 95 2003 and 2008 standards Fortran Forum hasa more or less standing table on compilers that support features from the 2003 and2008 standards The gfortran g95 and Sun compilers are free for Linux and gfortranand g95 are free for Windows
22 Absoft
httpwwwabsoftcom
18 CHAPTER 2 COMPILERS
Absoft Pro Fortran is a complete tool suite designed to automate building par-allel code on Linux Windows or Mac OSIntel Absoft Rolls are also available forx64Linux Compilers are full F95 include all popular legacy extensions many fromF2003 and are fully link and debug compatible with the host (Linux Microsoft MacOS) tool chain Compilers offer automatic parallelization vectorization OpenMP 30GPU support and Absoft application performance is consistently rated 1 on AMDand Intel systems by third party benchmarks IDE includes SMP graphical analyzerFx3 graphical multi-language debugger programmers editor several Fortran specificfeatures OpenMP and MPI controls math libraries VAXUnix libraries and 2D3Dgraphics Same look feel and functionality on all systems Nothing else to buy orlearn IMSL numerical libraries are a bundle option on all platforms
23 Cray
httpwwwcraycom
Cray has a fully optimizing Fortran 2003 compiler available for the Cray XT seriessystems This compiler also supports OpenMP and several Fortran 2008 featuresincluding submodules and coarrays
Cray has a fully-optimizing Fortran 95 compiler available for the Cray PVP (J90SV1) T3E and X1 systems The PVP compiler supports automatic parallization andOpenMP The T3E compiler supports coarrays The X1 compiler supports automaticstreaming OpenMP coarrays and many Fortran 2003 featuresrdquo
24 Fortran Company
httpwwwfortrancom
The Fortran Company offers F the subset language for Unix and Windows somein highly optimizing versions All of the full professional versions of the F compilerare available free by downloading them from the F anonymous ftp directory
The Fortran Tools include a Fortran 95 compiler with a graphical user interfacethat runs on Linux or Windows on a CD The CD also includes several Fortran booksin PDF format and many tools such as Matran a matrix computation library thatuses the highly tuned Atlas libraries a plotting package and a library of routines tocreate GUIs for your Fortran application programs
25 Fujitsu
httpwwwfujitsucomglobal
26 GNU FORTRAN 95 19
Fortran 95 (Solaris) A powerful updated development system used for FORTRANproductive applications Current version Sun Studio 9
The ISO Fortran 95 Standard is fully supported additionally there are enhance-ments for Fortran77 such as pointersstructures binaryoctalhexadecimal constantsetc High optimization includes automatic parallelization and OpenMP support AFortran runtime system optimized for UltraSPARC is now also included in the pack-age The development environment consists of the following components
Workbench An integral development environment for the CC++ and Fortrancompilers for compiler control program execution debugging performance analysiscoverage etc with a Motif-based graphical user interface (GUI)
Visual Analyzer A development and migration tool for CC++ and Fortranprograms The enclosed Source Analyzer allows the static program structure and theglobal data relations to be visualized It contains a class browser cross referencesand a calling graph viewer
Parallel Analyser Consists of an integrated development environment for theOpenMP programming It contains a manager a debugger and a profiler
Fujitsu also has a Fortran 95 compiler for Linux and a highly optimized nativeFortran 95 compiler FortranVPP and HPF for its VPP supercomputers
26 Gnu Fortran 95
httpgccgnuorgwikiGFortran
httpgccgnuorgfortran
Gfortran is the name of the GNU Fortran project developing a free Fortran 952003compiler for GCC the GNU Compiler Collection The gfortran development effortuses an open development environment in order to attract a larger team of devel-opers and to ensure that gfortran can work on multiple architectures and diverseenvironments The GNU Fortran 95 project or gfortran is developing a Fortran 95compiler front end as well as runtime libraries for GCC the GNU Compiler Col-lection Gfortran development is a part of the GNU project aiming to bring freenumber crunching to all GNU system variants The gfortran development effort usesan open development environment in order to attract a larger team of developers andto ensure that gfortran can work on multiple architectures and diverse environmentsIn particular the project wishes to reach the users of the Fortran 95 language beit in the scientific community in education or in a commercial environment Todaytruly free Fortran 90 or Fortran 95 compilers do not exist We are trying to makeone available to the Fortran community
27 g95
httpwwwg95org
20 CHAPTER 2 COMPILERS
g95 is a stable production Fortran 95 compiler available for multiple cpu architec-tures and operating systems Innovations and optimizations continue to be workedon Parts of the F2003 standard have been implemented in g95
28 Hewlett Packard
The web address that describes all of the compilers and supported hardware andoperating systems is
httph21007www2hpcomdspptechtech_TechSoftwareDetailPage_IDX11703623500h
HPrsquos Fortran products are available for multiple platforms Windows Tru64 UNIXAlphaServer systems Linux AlphaServer systems and HP OpenVMS (Alpha VAX)
Visual Fortran for WindowsFortran for Linux AlphaFortran for Tru64 UNIX AlphaFortran for HP OpenVMS AlphaFortran for HP OpenVMS IntegrityFortran for HP OpenVMS VAXFortran for HP-UXThe Windows product Compaq Visual Fortran includes the Microsoft Developer
Studio IDE which can be shared with Microsoft Visual C++ Parallel execution usingOpenMP-directed decomposition or HPF is included on the Tru64 UNIX platformOn Windows NT SMP parallel execution using directed decomposition is availablethrough Visual Compaq Fortran for Linux Alpha Systems is available as a freedownload under a Technology Enthusiast license for non-commercial use All Com-paq Fortran 95 products include the Compaq Extended Math Library of optimizedscientific subroutines and the allocatable array extensions
29 IBM
httpwww-306ibmcomsoftwareawdtoolsfortran
httpwww-306ibmcomsoftwareawdtoolsfortranxlfortranfeaturesf2003html
XL Fortran Enterprise Edition for AIX XL Fortran Enterprise Edition for AIX pro-vides industry-leading code optimization and tuning features a full implementationof the OpenMP API Version 25 Symmetric Multiprocessing (SMP) APIs directmanipulation of the floating-point status and control register 64-bit enablementasynchronous IO debug memory routines and many other features
XL Fortran Advanced Edition for Blue Gene XL Fortran Advanced Edition forBlue Gene is the latest addition to our XL Fortran compiler family It expands our
210 INTEL 21
proven XL Fortarn compiler technology to exploit the capabilities of the PowerPC440 and 440d processors used in IBM Blue GeneL supercomputers
XL Fortran Advanced Edition for Linux XL Fortran Advanced Edition for Linuxsupports your choice of RHEL4 SLES9 and Y-HPC Linux distributions Advancedoptimization technology and VMX support help you create high-performance 32-bitand 64-bit applications that run efficiently on a variety of processor architecturesincluding IBMrsquos newest POWER5+ and PowerPC 970 processors and Apple PowerMac G5 and Xserve G5 systems
VS FORTRAN VS FORTRAN contains features geared to help Fortran program-mers develop applications more easily and efficiently while using the full power ofIBMrsquos large systems
The second web link has details of Fortran 2003 support
210 Intel
httpsoftwareintelcomen-usintel-compilers
Intel offers optimizing Fortran compilers for the IA-32 x64 and IA-64 (Intel Ita-nium) architectures running the Linux Mac OS X (IA-32 and x64) or Windows op-erating systems Intel Fortran is fully compliant with Fortran 95 and supports mostof Fortran 2003 as well as many popular extensions The compiler offers automaticparallelization and vectorization and supports OpenMP 30 as well as generatingoptimized code for the latest Intel processors and compatible non-Intel processors
On all platforms the Intel Fortran compiler includes the Intel Math Kernel Li-brary a library of highly optimized extensively threaded math routines for scienceengineering and financial applications The IMSL Fortran Numeric Library 60 fromVisual Numerics is an option on Windows
On Windows the compiler integrates into Microsoft Visual Studio 2003 2005 or2008 and includes a self-sufficient Fortran development environment based on Mi-crosoft Visual Studio 2008 The Windows compiler also provides mechanisms tointerface Fortran code with the Microsoft COM and NET environments Academicand student pricing is available
211 LaheyFujitsu
httpwwwlaheycom
LaheyFujitsu Fortran 95 is produced by the LaheyFujitsu alliance LF95 is avail-able in three Windows configurations Express Standard and PRO and two Linuxconfigurations Express and PRO All configurations feature VAX IBM and POSIXlanguage extensions allocatable array enhancements etc The Windows and LinuxExpress version is command line only and features the compiler linker and debug-ger PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-
22 CHAPTER 2 COMPILERS
TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creatingtrue Windows programs with Fortran and a Coverage Analysis Tool that detects un-executed code and performs range of operation checking The PRO is compatible withVisual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 Math Libraryand Visual Analyzer (see below) The PRO Linux version offers auto-parallelizationOpenMP compatibility thread-safe BLAS and LAPACK WiSK AUTOMAKE andFujitsus SSL2 All products come with free technical support and are available at Also available is a subset compiler elf90
It would appear that the Windows version is no longer under active developmentThe last update was dated December 2004
212 NAG
httpwwwnagcouknagwareasp
The NAG Fortran Compiler derived from the worldrsquos first Fortran 90 Compilerfrom NAG is robust highly tested and valued by developers all over the globe forits checking capabilities and detailed error reporting Available on a wide range ofUnix and Windows platforms it accepts fixed or free format Fortran 95 input andmany common Fortran 77 extensions are allowed A large number of Fortran 2003language features are now available HPF code is also compiled and checked thoughonly single processor output is generated The 53 release supports a good workingsubset of OpenMP 3
The following versions are availableApple Intel Mac64 Release 53 gcc 42HP PA-RISC 11 Release 51 HP ANSI CIBM Power AIX Release 51 AIX XL C 60IBM Z9 Linux Release 51 gcc 346IBM Z9 Open Edition Release 52 IBM CLinux x86-32 Release 53 gcc 322Linux64 Release 53 gcc 412Sun SPARC Solaris Release 52 gcc 342Sun SPARC Solaris Release 52 Sun C v 55x86 and x86-64 Windows Release 53An integrated Fortran IDE is also available for Windows
httpwwwnagcouknagwarenpfortranbuilderasp
213 NEC
httpwwwneccom
214 ORACLE - ORIGINALLY SUN 23
NEC has a native optimizing Fortran 95 compiler FORTRAN90SX with anautomatic vectorization and parallelization capability for its supercomputer SX se-ries HPFSX V2 provides functions conforming to the specification of HPF11 andHPF20 and can be used with vector processing functions in SX Fortran and withparallel processing functions using microtasking
214 Oracle - originally Sun
httpwwworaclecomussunindexhtm
httpwwwsuncom
httpdeveloperssuncomsunstudio
httpdeveloperssuncomsunstudiodownloadsexpress
Sun Studio software delivers high-performance optimizing C C++ and Fortrancompilers for the Solaris OS on SPARC and both Solaris and Linux on x86x64platforms including the latest multi-core systems
Whatrsquos in Sun StudioAll Compilers - Specify 32-bit or 64-bit Address Model Auto-parallelization of
single-threaded code Flags Static data-race and deadlock-detection for x86 Mathand Visual Instruction Set Support in SPARC64 VI Option for Floating-Point Fusedor Multiply-Add Instructions Option for Thread Analyzer support Linux SupportOpenMP and OpenMPI suport Support for the directives clauses and attributes
Fortran Compiler - Interval arithmetic support on Solaris Intel platform Fastercompilation time for source files UNSIGNED arguments Backward compatibilitywith f77
C Compiler - More options Auto-parallelization of single-threaded code GNU Ccompatibility
C++ Compiler - More options ABI compatibility Compiler flags to optimize formulticore architectures Static linking the standard C++ runtime library
215 PathScale
httpwwwpathscalecomproductspathscale_compiler_suite
PathScalersquos goal is to make it easier to develop and deploy 64-bit applications intoclustered environments PathScale has developed the industryrsquos highest-performanceC C++ and Fortran 9X compilers for 64-bit Linux-based computer systems ThePathScale Compiler Suite shares its heritage with the well-known and mature SGIcompiler suite The PathScale Compiler Suite has been optimized for both the
24 CHAPTER 2 COMPILERS
AMD64 and EM64T architectures and has the worldrsquos most sophisticated optimiza-tion infrastructure
Unlike other compilers the PathScale Compiler Suite provides superior perfor-mance across both floating-point and integer-intensive applications Application de-velopers targeting 64-bit Linux servers will see immediate performance benefits fromcompiling with the PathScale compilers
The PathScale Compiler Suite includesC C++ and Fortran 779095 compilers Industry leading optimizations Com-
plete support for OpenMP 20 (including WORKSHARE) Complete support for 64-bit and 32-bit x86 compilation Code generation for AMD64 ABI AMD Opteronand Intel EM64T PathScale optimized AMD Core Math Library (available for down-load) Advanced serial debugger PathDB Compatible with GNUgcc tool chain andpopular Third Party debuggers Supported on SUSE RedHat and Fedora Linux Thecurrently shipping version of the PathScale Compiler Suite is
216 PGI
httpwwwpgroupcom
High-performance Optimizing Parallel Compilers For multi-core 64-bit x64 and 32-bit x86 processor-based Linux Mac OS X and Windows workstations servers andclusters PGI Workstation includes a single seat license for PGIrsquos suite of compilersand tools Also available with a multi-user network floating license (PGI Server)The PGI CDK Cluster Development Kit includes all the software for building andprogramming a turn-key Linux cluster PGI Visual Fortran fully integrates PGIparallel Fortran into Microsoft Windows using Microsoft Visual Studio 2005
217 Silverfrost nee Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
Salford Software markets FTN95 a Fortran 95 compiler for Win32 running onWindows 95NT2000XP PCs It has announced its Fortran 95 compiler for Mi-crosoft NET (FTN95 for NET) This compiler will produce fast executables fromsource files that may be any combination of Fortran 77 Fortran 90 and Fortran 95FTN95 for NET including integrated Help and Debugger is supplied bundled withFTN95 for Win32 and optionally with Microsoft Visual Studio for NET A low-costfully-featured personal edition is also available
218 SGI
httpwwwsgicomproductssoftwareirixtoolsfortranhtml
219 SUN - SEE ORACLE 25
MIPSpro Fortran Compilers This 64-bit ANSI Fortran 77 compiler is ideal forsystems running IRIX 6x It is compatible with VAXVMS Fortran and supportsCray extensions The 74 version of the MIPSpro Fortran 77 and Fortran 90 compilersnow support the OpenMP 20 standard Among the new features introduced in theOpenMP 20 specification are
WORKSHARE directive COPYPRIVATE clause for the broadcast of sequentialreads Portable timing routines MIPSpro Fortran 90 Compiler A 64 bit ANSI Fortran90 compiler with additional support for user-defined multiprocessing directives forsystems running IRIX 6x Compatible with VAXVMS Fortran and supports Crayextensions With the release of version 74 Fortran 90 specific support under theOpenMP 20 standard are
Parallelization of F90 array syntax via the WORKSHARE directive Privatizationof deferred shape and assumed shape objects The full Fortran 20 specification canobtained from the OpenMP Web site at httpwwwopenmporg
For more information read about the MIPSpro compilers
219 Sun - see Oracle
220 No longer available
2201 Apogee
httpwwwapogeecom
Features of the FORTRAN 7790 CompilerNo longer available Originally available for the SolarisSPARC platforms the
compiler conforms to Sunrsquos Solaris ABI and produces assembler code files acceptableto Sunrsquos Solaris assembler When used in the FORTRAN 77 compilation modethe compiler is compliant with the MIL-STD 1753 FORTRAN 77 and accepts mostFORTRAN 77 extensions of Sun IBM and other F77 compilers The supportedF77 extensions include structures length qualification on types additional data andconstant types initializations in type statements additional statements (END DODO WHILE POINTER VOLATILE etc) computations with aggregates namelist-directed IOs and debugging statements
When used in the Fortran 90 mode the compiler is compliant with the ANSIISOFortran 90 standard
2202 Compaq
This compiler is no longer under development This ceased when Intel bought outthe technology from HP Still widely used with legacy software Copies for sale canbe found on Ebay and similar vites
26 CHAPTER 2 COMPILERS
2203 EPC
Edinburgh Portable Compilers was an early vendor to produce a Fortran 90 compila-tion system A report by Adam Marshall from Liverpool University has a comparisionof several early Fortran 90 compilers It can be found at the address below
httpwwwlivacukHPCFortranCompilerStudyHTMLFortranCompilerStudyHTMLhtml
2204 NA Software
httpwwwnasoftwarecoukhomehtml
No longer available
Chapter 3
Fortran aware editors and IDEs
bull Version 15 October 2011 Updated photran entry
bull Version 14 July 2010 Added SunStudio Express entry
bull Version 131 April 2006 Added Windows Zeus entry
31 Windows
311 Absoft Editor (ae)
httpwwwabsoftcom
312 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
313 compaq visual fortran 6x
Nolongeravailable
314 editeur
wwwstudiowarecom
315 emacsxemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
316 emacsxemacs - cygwin components
httpwwwcygwincom
28 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
317 gvimvim - stand alone
httpwwwvimorg
318 gvimvim - cygwin component
httpwwwcygwincom
319 jed wjed (Windows)
httpwwwjedsoftorgjed
3110 lahey ed
httpwwwlaheycom
3111 microsoft visual studio 6
No longer available
3112 Microsoft Visual StudioNET
There are a number of vendors that have provided integration with Microsoft VisualStudio NET These include
Intel Visual Fortranwwwintelcom
LaheyFujitsu Fortranwwwlaheycom
Silverfrost Salford FTN95httpwwwsilverfrostcom11ftn95overviewasp
3113 nedit - cygwin
httpwwwneditorg
3114 ntemacs
httpwwwgnuorgsoftwareemacswindowsntemacshtml
3115 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
32 LINUXUNIX 29
3116 salford plato
httpwwwsilverfrostcom11ftn95overviewasp
3117 Oracle Solaris Studio Express
httpdeveloperssuncomsunstudiodownloadsexpress
3118 UltraEdit
wwwultraeditcom
3119 xemacsemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
3120 xemacsemacs - cygwin components
httpwwwcygwincom
3121 Zeus ide
httpwwwzeuseditcomfortranhtml
32 LinuxUnix
321 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
322 emacsxemacs
httpwwwgnuorgsoftwareemacsemacshtml
323 jed xjed (Unix(all flavours)OpenVMS) wjed (Win-dows)
httpwwwjedsoftorgjed
324 nedit
httpwwwneditorg
30 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
325 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
33 Apple OS X
331 Absoft Editor
httpwwwabsoftcom
332 BBEdit
httpwwwapplecomdownloadsmacosxproductivity_toolsbbedithtml
httpwwwbarebonescomproductsbbeditindexshtml
333 emacsxemacs
pre-installed
334 Photran
wwwphotranorg
335 Smultron
httpsmultronsourceforgenet
336 TextMate
httpmacromatescom
337 TextWrangler
httpwwwapplecomdownloadsmacosxproductivity_toolstextwranglerhtml
httpwwwbarebonescomproductstextwranglerindexshtml
338 Vim
Pre-installed
33 APPLE OS X 31
339 Xcode
httpdeveloperapplecom
3310 xemacsemacs
pre-installed
32 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
Chapter 4
Commercial Courses
bull Version 14 August 2012 Updated several entries
bull Version 13 November 2011 Notified by Shaun Forth at Cranfield of theirchanges Also added the HECToR entries
bull Version 12 August 2010
bull Version 11 September 2008
bull Version 10 January 2006
41 Ian Chivers and Jane Sleightholme
Ian Chivers and Jane Sleightholme are available to do tailored on site courses Coursesinclude
bull Introduction to Modern Programming in Fortran
bull Advanced Features of Modern Fortran
See
httpwwwfortranpluscouk
42 Cranfield University
Cranfield University offers four Fortran programming courses
bull Introduction to Programming in Fortran 95 and 2003 (3 days)
bull Advanced Programming in Fortran 95 and 2003 (3 days)
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
14 CHAPTER 1 BOOKS
bull Fortran 90 Initiation partir du Fortran 77 - Aberti Srie Informatique ditionsMenton 1992 ISBN 2-909615-00-6
bull Les spcificits du Fortran 90 M Dubesset et J Vignes ditions Technip 1993 ISBN 2-7108-0652-5
bull Manuel complet du langage Fortran 90 et guide dapplication P Lignelet SrieInformatique ditions 1995 ISBN 2-909615-02-2
bull Manuel Complet du Langage Fortran 90 et Fortran 95 Calcul intensif et GnieLogiciel P Lignelet Masson ditions Paris 1996 ISBN 2-225-85229-4
bull Programmer en Fortran 90 C Delannoy Eyrolles 1992 ISBN 2-212-08723-3
bull Traitement des donnes numriques avec Fortran 90 M Olagnon Masson ditions1996 ISBN 2-225-85259-6
bull Structures des donnes (et leurs algorithmes) en Fortran 9095 P LigneletMasson ditions Paris ISBN 2-225-85373-8
19 German
bull Fortran 90 Lehrbuch D Rabenstein Hanser 1995 ISBN 3-446-18235-7
bull Die Programmiersprache F W Gehrke Springer-Verlag ISBN 3-540-63376-6
bull Fortran 90 - BWojcieszynski and RWojcieszynski Addison-Wesley 1993 ISBN3-89319-600-5
bull Fortran 90 eine informelle Einfhrung M Heisterkamp BI-Wissenschaftsverlag1991 ISBN 3-411-15321-0
bull Fortran 90 Kurs technisch orientiert - G Schmitt Oldenbourg 1996 ISBN3-486-23896-5
bull Fortran 90 Lehr- und Arbeitsbuch fr das erfolgreiche Programmieren WSBrainerd CH Goldberg and JC Adams translated by Peter Thomas andKlaus G Paul R Olbenbourg Verlag Muenchen 1994 ISBN 3-486-22102-7
bull Fortran 90 Lehr- und Handbuch - T Michel BI-Wissenschaftsverlag 1994
bull Fortran 90 Referenz-Handbuch der neue Fortran-Standard W Gehrke CarlHansen Verlag 1991 ISBN3-446-16321-2
bull Programmierung in Fortran 90 - Schobert Oldenburg 1991
bull Programmierung mit Fortran 90 - Bumer Vieweg Braunschweig 1997 ISBN3-528-05208-2
110 ITALIAN 15
bull Programmieren in Fortran - Erasmus Langer Springer-Verlag Wien New York1993 ISBN 3-211-82446-4 0-387-82446-4
bull Software Entwicklung in Fortran 90 - berhuber and Meditz Springer Verlag1993 ISBN 0-387-82450-2
110 Italian
bull Some resources in Italian including a manual are at
httpspacetinitcomputergciabu
bull Programmare con Fortran G Ciaburro FAG 2008 ISBN 9788882336882
wwwciaburroitf90librohtm
httpwwwibsitcode9788882336882ciaburro-giuseppeprogrammare-con-fortranhtml
111 Japanese
bull Fortran 90 Explained - Metcalf and Reid translated by H Nisimura H WadaK Nishimura M Takata Kyoritsu Shuppan Co Ltd 1993 ISSN 0385-6984
112 Russian
bull An Explanation of the Fortran 90 Programming Language (translation of For-tran 90 Explained - Metcalf and Reid) translated P Gorbounov Mir Moscow1995 ISBN 5-03-001426-8 Available also from PetrGorbounovcernch
bull FORTRAN 77 to Fortran 90 Tutorial - Einarsson and Shokin Russian Academyof Sciences Novosibirsk 1995 ISBN 5-85826-013-6
113 Swedish
bull Fortran 90 - en introduktion - Blom Studentlitteratur Lund 1994 ISBN 91-44-47881-X
16 CHAPTER 1 BOOKS
Chapter 2
Compilers
bull Version 110 August 2012 Updated Nag entry 53 release supports openMPAlso updated product availability entry
bull Version 19 November 2010 Updated Absoft in response to an email fromWood Lotz
bull Version 18 July 2010 Updated Sun to reflect takeover by Oracle UpdatedSalford to reflect Silverfrost rebranding
bull Version 17 June 2009 Updated the Cray and Intel entries Added a newsection on compilers that are no longer available This has involved moving theentries on Apogee Compaq and NA Software into this section For historicalcompleteness wersquove also added an entry for EPC to this section
bull Version 16 September 2008 Updated the NAG entry with more details of theFortran Builder IDE
bull Version 15 September 2007 Updated Absoft Entry Compaq Fortran Com-pany Fujitsu Gnu Fortran 95 G95 IBM Intel LaheyFujitsu NAG NASoftware NEC Pathscale PGI SalfordSilverfrost SGI Sun
21 Introduction
The following is a list of companies and organisations that provide Fortran compilersthat conform to the Fortran 90 95 2003 and 2008 standards Fortran Forum hasa more or less standing table on compilers that support features from the 2003 and2008 standards The gfortran g95 and Sun compilers are free for Linux and gfortranand g95 are free for Windows
22 Absoft
httpwwwabsoftcom
18 CHAPTER 2 COMPILERS
Absoft Pro Fortran is a complete tool suite designed to automate building par-allel code on Linux Windows or Mac OSIntel Absoft Rolls are also available forx64Linux Compilers are full F95 include all popular legacy extensions many fromF2003 and are fully link and debug compatible with the host (Linux Microsoft MacOS) tool chain Compilers offer automatic parallelization vectorization OpenMP 30GPU support and Absoft application performance is consistently rated 1 on AMDand Intel systems by third party benchmarks IDE includes SMP graphical analyzerFx3 graphical multi-language debugger programmers editor several Fortran specificfeatures OpenMP and MPI controls math libraries VAXUnix libraries and 2D3Dgraphics Same look feel and functionality on all systems Nothing else to buy orlearn IMSL numerical libraries are a bundle option on all platforms
23 Cray
httpwwwcraycom
Cray has a fully optimizing Fortran 2003 compiler available for the Cray XT seriessystems This compiler also supports OpenMP and several Fortran 2008 featuresincluding submodules and coarrays
Cray has a fully-optimizing Fortran 95 compiler available for the Cray PVP (J90SV1) T3E and X1 systems The PVP compiler supports automatic parallization andOpenMP The T3E compiler supports coarrays The X1 compiler supports automaticstreaming OpenMP coarrays and many Fortran 2003 featuresrdquo
24 Fortran Company
httpwwwfortrancom
The Fortran Company offers F the subset language for Unix and Windows somein highly optimizing versions All of the full professional versions of the F compilerare available free by downloading them from the F anonymous ftp directory
The Fortran Tools include a Fortran 95 compiler with a graphical user interfacethat runs on Linux or Windows on a CD The CD also includes several Fortran booksin PDF format and many tools such as Matran a matrix computation library thatuses the highly tuned Atlas libraries a plotting package and a library of routines tocreate GUIs for your Fortran application programs
25 Fujitsu
httpwwwfujitsucomglobal
26 GNU FORTRAN 95 19
Fortran 95 (Solaris) A powerful updated development system used for FORTRANproductive applications Current version Sun Studio 9
The ISO Fortran 95 Standard is fully supported additionally there are enhance-ments for Fortran77 such as pointersstructures binaryoctalhexadecimal constantsetc High optimization includes automatic parallelization and OpenMP support AFortran runtime system optimized for UltraSPARC is now also included in the pack-age The development environment consists of the following components
Workbench An integral development environment for the CC++ and Fortrancompilers for compiler control program execution debugging performance analysiscoverage etc with a Motif-based graphical user interface (GUI)
Visual Analyzer A development and migration tool for CC++ and Fortranprograms The enclosed Source Analyzer allows the static program structure and theglobal data relations to be visualized It contains a class browser cross referencesand a calling graph viewer
Parallel Analyser Consists of an integrated development environment for theOpenMP programming It contains a manager a debugger and a profiler
Fujitsu also has a Fortran 95 compiler for Linux and a highly optimized nativeFortran 95 compiler FortranVPP and HPF for its VPP supercomputers
26 Gnu Fortran 95
httpgccgnuorgwikiGFortran
httpgccgnuorgfortran
Gfortran is the name of the GNU Fortran project developing a free Fortran 952003compiler for GCC the GNU Compiler Collection The gfortran development effortuses an open development environment in order to attract a larger team of devel-opers and to ensure that gfortran can work on multiple architectures and diverseenvironments The GNU Fortran 95 project or gfortran is developing a Fortran 95compiler front end as well as runtime libraries for GCC the GNU Compiler Col-lection Gfortran development is a part of the GNU project aiming to bring freenumber crunching to all GNU system variants The gfortran development effort usesan open development environment in order to attract a larger team of developers andto ensure that gfortran can work on multiple architectures and diverse environmentsIn particular the project wishes to reach the users of the Fortran 95 language beit in the scientific community in education or in a commercial environment Todaytruly free Fortran 90 or Fortran 95 compilers do not exist We are trying to makeone available to the Fortran community
27 g95
httpwwwg95org
20 CHAPTER 2 COMPILERS
g95 is a stable production Fortran 95 compiler available for multiple cpu architec-tures and operating systems Innovations and optimizations continue to be workedon Parts of the F2003 standard have been implemented in g95
28 Hewlett Packard
The web address that describes all of the compilers and supported hardware andoperating systems is
httph21007www2hpcomdspptechtech_TechSoftwareDetailPage_IDX11703623500h
HPrsquos Fortran products are available for multiple platforms Windows Tru64 UNIXAlphaServer systems Linux AlphaServer systems and HP OpenVMS (Alpha VAX)
Visual Fortran for WindowsFortran for Linux AlphaFortran for Tru64 UNIX AlphaFortran for HP OpenVMS AlphaFortran for HP OpenVMS IntegrityFortran for HP OpenVMS VAXFortran for HP-UXThe Windows product Compaq Visual Fortran includes the Microsoft Developer
Studio IDE which can be shared with Microsoft Visual C++ Parallel execution usingOpenMP-directed decomposition or HPF is included on the Tru64 UNIX platformOn Windows NT SMP parallel execution using directed decomposition is availablethrough Visual Compaq Fortran for Linux Alpha Systems is available as a freedownload under a Technology Enthusiast license for non-commercial use All Com-paq Fortran 95 products include the Compaq Extended Math Library of optimizedscientific subroutines and the allocatable array extensions
29 IBM
httpwww-306ibmcomsoftwareawdtoolsfortran
httpwww-306ibmcomsoftwareawdtoolsfortranxlfortranfeaturesf2003html
XL Fortran Enterprise Edition for AIX XL Fortran Enterprise Edition for AIX pro-vides industry-leading code optimization and tuning features a full implementationof the OpenMP API Version 25 Symmetric Multiprocessing (SMP) APIs directmanipulation of the floating-point status and control register 64-bit enablementasynchronous IO debug memory routines and many other features
XL Fortran Advanced Edition for Blue Gene XL Fortran Advanced Edition forBlue Gene is the latest addition to our XL Fortran compiler family It expands our
210 INTEL 21
proven XL Fortarn compiler technology to exploit the capabilities of the PowerPC440 and 440d processors used in IBM Blue GeneL supercomputers
XL Fortran Advanced Edition for Linux XL Fortran Advanced Edition for Linuxsupports your choice of RHEL4 SLES9 and Y-HPC Linux distributions Advancedoptimization technology and VMX support help you create high-performance 32-bitand 64-bit applications that run efficiently on a variety of processor architecturesincluding IBMrsquos newest POWER5+ and PowerPC 970 processors and Apple PowerMac G5 and Xserve G5 systems
VS FORTRAN VS FORTRAN contains features geared to help Fortran program-mers develop applications more easily and efficiently while using the full power ofIBMrsquos large systems
The second web link has details of Fortran 2003 support
210 Intel
httpsoftwareintelcomen-usintel-compilers
Intel offers optimizing Fortran compilers for the IA-32 x64 and IA-64 (Intel Ita-nium) architectures running the Linux Mac OS X (IA-32 and x64) or Windows op-erating systems Intel Fortran is fully compliant with Fortran 95 and supports mostof Fortran 2003 as well as many popular extensions The compiler offers automaticparallelization and vectorization and supports OpenMP 30 as well as generatingoptimized code for the latest Intel processors and compatible non-Intel processors
On all platforms the Intel Fortran compiler includes the Intel Math Kernel Li-brary a library of highly optimized extensively threaded math routines for scienceengineering and financial applications The IMSL Fortran Numeric Library 60 fromVisual Numerics is an option on Windows
On Windows the compiler integrates into Microsoft Visual Studio 2003 2005 or2008 and includes a self-sufficient Fortran development environment based on Mi-crosoft Visual Studio 2008 The Windows compiler also provides mechanisms tointerface Fortran code with the Microsoft COM and NET environments Academicand student pricing is available
211 LaheyFujitsu
httpwwwlaheycom
LaheyFujitsu Fortran 95 is produced by the LaheyFujitsu alliance LF95 is avail-able in three Windows configurations Express Standard and PRO and two Linuxconfigurations Express and PRO All configurations feature VAX IBM and POSIXlanguage extensions allocatable array enhancements etc The Windows and LinuxExpress version is command line only and features the compiler linker and debug-ger PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-
22 CHAPTER 2 COMPILERS
TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creatingtrue Windows programs with Fortran and a Coverage Analysis Tool that detects un-executed code and performs range of operation checking The PRO is compatible withVisual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 Math Libraryand Visual Analyzer (see below) The PRO Linux version offers auto-parallelizationOpenMP compatibility thread-safe BLAS and LAPACK WiSK AUTOMAKE andFujitsus SSL2 All products come with free technical support and are available at Also available is a subset compiler elf90
It would appear that the Windows version is no longer under active developmentThe last update was dated December 2004
212 NAG
httpwwwnagcouknagwareasp
The NAG Fortran Compiler derived from the worldrsquos first Fortran 90 Compilerfrom NAG is robust highly tested and valued by developers all over the globe forits checking capabilities and detailed error reporting Available on a wide range ofUnix and Windows platforms it accepts fixed or free format Fortran 95 input andmany common Fortran 77 extensions are allowed A large number of Fortran 2003language features are now available HPF code is also compiled and checked thoughonly single processor output is generated The 53 release supports a good workingsubset of OpenMP 3
The following versions are availableApple Intel Mac64 Release 53 gcc 42HP PA-RISC 11 Release 51 HP ANSI CIBM Power AIX Release 51 AIX XL C 60IBM Z9 Linux Release 51 gcc 346IBM Z9 Open Edition Release 52 IBM CLinux x86-32 Release 53 gcc 322Linux64 Release 53 gcc 412Sun SPARC Solaris Release 52 gcc 342Sun SPARC Solaris Release 52 Sun C v 55x86 and x86-64 Windows Release 53An integrated Fortran IDE is also available for Windows
httpwwwnagcouknagwarenpfortranbuilderasp
213 NEC
httpwwwneccom
214 ORACLE - ORIGINALLY SUN 23
NEC has a native optimizing Fortran 95 compiler FORTRAN90SX with anautomatic vectorization and parallelization capability for its supercomputer SX se-ries HPFSX V2 provides functions conforming to the specification of HPF11 andHPF20 and can be used with vector processing functions in SX Fortran and withparallel processing functions using microtasking
214 Oracle - originally Sun
httpwwworaclecomussunindexhtm
httpwwwsuncom
httpdeveloperssuncomsunstudio
httpdeveloperssuncomsunstudiodownloadsexpress
Sun Studio software delivers high-performance optimizing C C++ and Fortrancompilers for the Solaris OS on SPARC and both Solaris and Linux on x86x64platforms including the latest multi-core systems
Whatrsquos in Sun StudioAll Compilers - Specify 32-bit or 64-bit Address Model Auto-parallelization of
single-threaded code Flags Static data-race and deadlock-detection for x86 Mathand Visual Instruction Set Support in SPARC64 VI Option for Floating-Point Fusedor Multiply-Add Instructions Option for Thread Analyzer support Linux SupportOpenMP and OpenMPI suport Support for the directives clauses and attributes
Fortran Compiler - Interval arithmetic support on Solaris Intel platform Fastercompilation time for source files UNSIGNED arguments Backward compatibilitywith f77
C Compiler - More options Auto-parallelization of single-threaded code GNU Ccompatibility
C++ Compiler - More options ABI compatibility Compiler flags to optimize formulticore architectures Static linking the standard C++ runtime library
215 PathScale
httpwwwpathscalecomproductspathscale_compiler_suite
PathScalersquos goal is to make it easier to develop and deploy 64-bit applications intoclustered environments PathScale has developed the industryrsquos highest-performanceC C++ and Fortran 9X compilers for 64-bit Linux-based computer systems ThePathScale Compiler Suite shares its heritage with the well-known and mature SGIcompiler suite The PathScale Compiler Suite has been optimized for both the
24 CHAPTER 2 COMPILERS
AMD64 and EM64T architectures and has the worldrsquos most sophisticated optimiza-tion infrastructure
Unlike other compilers the PathScale Compiler Suite provides superior perfor-mance across both floating-point and integer-intensive applications Application de-velopers targeting 64-bit Linux servers will see immediate performance benefits fromcompiling with the PathScale compilers
The PathScale Compiler Suite includesC C++ and Fortran 779095 compilers Industry leading optimizations Com-
plete support for OpenMP 20 (including WORKSHARE) Complete support for 64-bit and 32-bit x86 compilation Code generation for AMD64 ABI AMD Opteronand Intel EM64T PathScale optimized AMD Core Math Library (available for down-load) Advanced serial debugger PathDB Compatible with GNUgcc tool chain andpopular Third Party debuggers Supported on SUSE RedHat and Fedora Linux Thecurrently shipping version of the PathScale Compiler Suite is
216 PGI
httpwwwpgroupcom
High-performance Optimizing Parallel Compilers For multi-core 64-bit x64 and 32-bit x86 processor-based Linux Mac OS X and Windows workstations servers andclusters PGI Workstation includes a single seat license for PGIrsquos suite of compilersand tools Also available with a multi-user network floating license (PGI Server)The PGI CDK Cluster Development Kit includes all the software for building andprogramming a turn-key Linux cluster PGI Visual Fortran fully integrates PGIparallel Fortran into Microsoft Windows using Microsoft Visual Studio 2005
217 Silverfrost nee Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
Salford Software markets FTN95 a Fortran 95 compiler for Win32 running onWindows 95NT2000XP PCs It has announced its Fortran 95 compiler for Mi-crosoft NET (FTN95 for NET) This compiler will produce fast executables fromsource files that may be any combination of Fortran 77 Fortran 90 and Fortran 95FTN95 for NET including integrated Help and Debugger is supplied bundled withFTN95 for Win32 and optionally with Microsoft Visual Studio for NET A low-costfully-featured personal edition is also available
218 SGI
httpwwwsgicomproductssoftwareirixtoolsfortranhtml
219 SUN - SEE ORACLE 25
MIPSpro Fortran Compilers This 64-bit ANSI Fortran 77 compiler is ideal forsystems running IRIX 6x It is compatible with VAXVMS Fortran and supportsCray extensions The 74 version of the MIPSpro Fortran 77 and Fortran 90 compilersnow support the OpenMP 20 standard Among the new features introduced in theOpenMP 20 specification are
WORKSHARE directive COPYPRIVATE clause for the broadcast of sequentialreads Portable timing routines MIPSpro Fortran 90 Compiler A 64 bit ANSI Fortran90 compiler with additional support for user-defined multiprocessing directives forsystems running IRIX 6x Compatible with VAXVMS Fortran and supports Crayextensions With the release of version 74 Fortran 90 specific support under theOpenMP 20 standard are
Parallelization of F90 array syntax via the WORKSHARE directive Privatizationof deferred shape and assumed shape objects The full Fortran 20 specification canobtained from the OpenMP Web site at httpwwwopenmporg
For more information read about the MIPSpro compilers
219 Sun - see Oracle
220 No longer available
2201 Apogee
httpwwwapogeecom
Features of the FORTRAN 7790 CompilerNo longer available Originally available for the SolarisSPARC platforms the
compiler conforms to Sunrsquos Solaris ABI and produces assembler code files acceptableto Sunrsquos Solaris assembler When used in the FORTRAN 77 compilation modethe compiler is compliant with the MIL-STD 1753 FORTRAN 77 and accepts mostFORTRAN 77 extensions of Sun IBM and other F77 compilers The supportedF77 extensions include structures length qualification on types additional data andconstant types initializations in type statements additional statements (END DODO WHILE POINTER VOLATILE etc) computations with aggregates namelist-directed IOs and debugging statements
When used in the Fortran 90 mode the compiler is compliant with the ANSIISOFortran 90 standard
2202 Compaq
This compiler is no longer under development This ceased when Intel bought outthe technology from HP Still widely used with legacy software Copies for sale canbe found on Ebay and similar vites
26 CHAPTER 2 COMPILERS
2203 EPC
Edinburgh Portable Compilers was an early vendor to produce a Fortran 90 compila-tion system A report by Adam Marshall from Liverpool University has a comparisionof several early Fortran 90 compilers It can be found at the address below
httpwwwlivacukHPCFortranCompilerStudyHTMLFortranCompilerStudyHTMLhtml
2204 NA Software
httpwwwnasoftwarecoukhomehtml
No longer available
Chapter 3
Fortran aware editors and IDEs
bull Version 15 October 2011 Updated photran entry
bull Version 14 July 2010 Added SunStudio Express entry
bull Version 131 April 2006 Added Windows Zeus entry
31 Windows
311 Absoft Editor (ae)
httpwwwabsoftcom
312 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
313 compaq visual fortran 6x
Nolongeravailable
314 editeur
wwwstudiowarecom
315 emacsxemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
316 emacsxemacs - cygwin components
httpwwwcygwincom
28 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
317 gvimvim - stand alone
httpwwwvimorg
318 gvimvim - cygwin component
httpwwwcygwincom
319 jed wjed (Windows)
httpwwwjedsoftorgjed
3110 lahey ed
httpwwwlaheycom
3111 microsoft visual studio 6
No longer available
3112 Microsoft Visual StudioNET
There are a number of vendors that have provided integration with Microsoft VisualStudio NET These include
Intel Visual Fortranwwwintelcom
LaheyFujitsu Fortranwwwlaheycom
Silverfrost Salford FTN95httpwwwsilverfrostcom11ftn95overviewasp
3113 nedit - cygwin
httpwwwneditorg
3114 ntemacs
httpwwwgnuorgsoftwareemacswindowsntemacshtml
3115 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
32 LINUXUNIX 29
3116 salford plato
httpwwwsilverfrostcom11ftn95overviewasp
3117 Oracle Solaris Studio Express
httpdeveloperssuncomsunstudiodownloadsexpress
3118 UltraEdit
wwwultraeditcom
3119 xemacsemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
3120 xemacsemacs - cygwin components
httpwwwcygwincom
3121 Zeus ide
httpwwwzeuseditcomfortranhtml
32 LinuxUnix
321 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
322 emacsxemacs
httpwwwgnuorgsoftwareemacsemacshtml
323 jed xjed (Unix(all flavours)OpenVMS) wjed (Win-dows)
httpwwwjedsoftorgjed
324 nedit
httpwwwneditorg
30 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
325 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
33 Apple OS X
331 Absoft Editor
httpwwwabsoftcom
332 BBEdit
httpwwwapplecomdownloadsmacosxproductivity_toolsbbedithtml
httpwwwbarebonescomproductsbbeditindexshtml
333 emacsxemacs
pre-installed
334 Photran
wwwphotranorg
335 Smultron
httpsmultronsourceforgenet
336 TextMate
httpmacromatescom
337 TextWrangler
httpwwwapplecomdownloadsmacosxproductivity_toolstextwranglerhtml
httpwwwbarebonescomproductstextwranglerindexshtml
338 Vim
Pre-installed
33 APPLE OS X 31
339 Xcode
httpdeveloperapplecom
3310 xemacsemacs
pre-installed
32 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
Chapter 4
Commercial Courses
bull Version 14 August 2012 Updated several entries
bull Version 13 November 2011 Notified by Shaun Forth at Cranfield of theirchanges Also added the HECToR entries
bull Version 12 August 2010
bull Version 11 September 2008
bull Version 10 January 2006
41 Ian Chivers and Jane Sleightholme
Ian Chivers and Jane Sleightholme are available to do tailored on site courses Coursesinclude
bull Introduction to Modern Programming in Fortran
bull Advanced Features of Modern Fortran
See
httpwwwfortranpluscouk
42 Cranfield University
Cranfield University offers four Fortran programming courses
bull Introduction to Programming in Fortran 95 and 2003 (3 days)
bull Advanced Programming in Fortran 95 and 2003 (3 days)
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
110 ITALIAN 15
bull Programmieren in Fortran - Erasmus Langer Springer-Verlag Wien New York1993 ISBN 3-211-82446-4 0-387-82446-4
bull Software Entwicklung in Fortran 90 - berhuber and Meditz Springer Verlag1993 ISBN 0-387-82450-2
110 Italian
bull Some resources in Italian including a manual are at
httpspacetinitcomputergciabu
bull Programmare con Fortran G Ciaburro FAG 2008 ISBN 9788882336882
wwwciaburroitf90librohtm
httpwwwibsitcode9788882336882ciaburro-giuseppeprogrammare-con-fortranhtml
111 Japanese
bull Fortran 90 Explained - Metcalf and Reid translated by H Nisimura H WadaK Nishimura M Takata Kyoritsu Shuppan Co Ltd 1993 ISSN 0385-6984
112 Russian
bull An Explanation of the Fortran 90 Programming Language (translation of For-tran 90 Explained - Metcalf and Reid) translated P Gorbounov Mir Moscow1995 ISBN 5-03-001426-8 Available also from PetrGorbounovcernch
bull FORTRAN 77 to Fortran 90 Tutorial - Einarsson and Shokin Russian Academyof Sciences Novosibirsk 1995 ISBN 5-85826-013-6
113 Swedish
bull Fortran 90 - en introduktion - Blom Studentlitteratur Lund 1994 ISBN 91-44-47881-X
16 CHAPTER 1 BOOKS
Chapter 2
Compilers
bull Version 110 August 2012 Updated Nag entry 53 release supports openMPAlso updated product availability entry
bull Version 19 November 2010 Updated Absoft in response to an email fromWood Lotz
bull Version 18 July 2010 Updated Sun to reflect takeover by Oracle UpdatedSalford to reflect Silverfrost rebranding
bull Version 17 June 2009 Updated the Cray and Intel entries Added a newsection on compilers that are no longer available This has involved moving theentries on Apogee Compaq and NA Software into this section For historicalcompleteness wersquove also added an entry for EPC to this section
bull Version 16 September 2008 Updated the NAG entry with more details of theFortran Builder IDE
bull Version 15 September 2007 Updated Absoft Entry Compaq Fortran Com-pany Fujitsu Gnu Fortran 95 G95 IBM Intel LaheyFujitsu NAG NASoftware NEC Pathscale PGI SalfordSilverfrost SGI Sun
21 Introduction
The following is a list of companies and organisations that provide Fortran compilersthat conform to the Fortran 90 95 2003 and 2008 standards Fortran Forum hasa more or less standing table on compilers that support features from the 2003 and2008 standards The gfortran g95 and Sun compilers are free for Linux and gfortranand g95 are free for Windows
22 Absoft
httpwwwabsoftcom
18 CHAPTER 2 COMPILERS
Absoft Pro Fortran is a complete tool suite designed to automate building par-allel code on Linux Windows or Mac OSIntel Absoft Rolls are also available forx64Linux Compilers are full F95 include all popular legacy extensions many fromF2003 and are fully link and debug compatible with the host (Linux Microsoft MacOS) tool chain Compilers offer automatic parallelization vectorization OpenMP 30GPU support and Absoft application performance is consistently rated 1 on AMDand Intel systems by third party benchmarks IDE includes SMP graphical analyzerFx3 graphical multi-language debugger programmers editor several Fortran specificfeatures OpenMP and MPI controls math libraries VAXUnix libraries and 2D3Dgraphics Same look feel and functionality on all systems Nothing else to buy orlearn IMSL numerical libraries are a bundle option on all platforms
23 Cray
httpwwwcraycom
Cray has a fully optimizing Fortran 2003 compiler available for the Cray XT seriessystems This compiler also supports OpenMP and several Fortran 2008 featuresincluding submodules and coarrays
Cray has a fully-optimizing Fortran 95 compiler available for the Cray PVP (J90SV1) T3E and X1 systems The PVP compiler supports automatic parallization andOpenMP The T3E compiler supports coarrays The X1 compiler supports automaticstreaming OpenMP coarrays and many Fortran 2003 featuresrdquo
24 Fortran Company
httpwwwfortrancom
The Fortran Company offers F the subset language for Unix and Windows somein highly optimizing versions All of the full professional versions of the F compilerare available free by downloading them from the F anonymous ftp directory
The Fortran Tools include a Fortran 95 compiler with a graphical user interfacethat runs on Linux or Windows on a CD The CD also includes several Fortran booksin PDF format and many tools such as Matran a matrix computation library thatuses the highly tuned Atlas libraries a plotting package and a library of routines tocreate GUIs for your Fortran application programs
25 Fujitsu
httpwwwfujitsucomglobal
26 GNU FORTRAN 95 19
Fortran 95 (Solaris) A powerful updated development system used for FORTRANproductive applications Current version Sun Studio 9
The ISO Fortran 95 Standard is fully supported additionally there are enhance-ments for Fortran77 such as pointersstructures binaryoctalhexadecimal constantsetc High optimization includes automatic parallelization and OpenMP support AFortran runtime system optimized for UltraSPARC is now also included in the pack-age The development environment consists of the following components
Workbench An integral development environment for the CC++ and Fortrancompilers for compiler control program execution debugging performance analysiscoverage etc with a Motif-based graphical user interface (GUI)
Visual Analyzer A development and migration tool for CC++ and Fortranprograms The enclosed Source Analyzer allows the static program structure and theglobal data relations to be visualized It contains a class browser cross referencesand a calling graph viewer
Parallel Analyser Consists of an integrated development environment for theOpenMP programming It contains a manager a debugger and a profiler
Fujitsu also has a Fortran 95 compiler for Linux and a highly optimized nativeFortran 95 compiler FortranVPP and HPF for its VPP supercomputers
26 Gnu Fortran 95
httpgccgnuorgwikiGFortran
httpgccgnuorgfortran
Gfortran is the name of the GNU Fortran project developing a free Fortran 952003compiler for GCC the GNU Compiler Collection The gfortran development effortuses an open development environment in order to attract a larger team of devel-opers and to ensure that gfortran can work on multiple architectures and diverseenvironments The GNU Fortran 95 project or gfortran is developing a Fortran 95compiler front end as well as runtime libraries for GCC the GNU Compiler Col-lection Gfortran development is a part of the GNU project aiming to bring freenumber crunching to all GNU system variants The gfortran development effort usesan open development environment in order to attract a larger team of developers andto ensure that gfortran can work on multiple architectures and diverse environmentsIn particular the project wishes to reach the users of the Fortran 95 language beit in the scientific community in education or in a commercial environment Todaytruly free Fortran 90 or Fortran 95 compilers do not exist We are trying to makeone available to the Fortran community
27 g95
httpwwwg95org
20 CHAPTER 2 COMPILERS
g95 is a stable production Fortran 95 compiler available for multiple cpu architec-tures and operating systems Innovations and optimizations continue to be workedon Parts of the F2003 standard have been implemented in g95
28 Hewlett Packard
The web address that describes all of the compilers and supported hardware andoperating systems is
httph21007www2hpcomdspptechtech_TechSoftwareDetailPage_IDX11703623500h
HPrsquos Fortran products are available for multiple platforms Windows Tru64 UNIXAlphaServer systems Linux AlphaServer systems and HP OpenVMS (Alpha VAX)
Visual Fortran for WindowsFortran for Linux AlphaFortran for Tru64 UNIX AlphaFortran for HP OpenVMS AlphaFortran for HP OpenVMS IntegrityFortran for HP OpenVMS VAXFortran for HP-UXThe Windows product Compaq Visual Fortran includes the Microsoft Developer
Studio IDE which can be shared with Microsoft Visual C++ Parallel execution usingOpenMP-directed decomposition or HPF is included on the Tru64 UNIX platformOn Windows NT SMP parallel execution using directed decomposition is availablethrough Visual Compaq Fortran for Linux Alpha Systems is available as a freedownload under a Technology Enthusiast license for non-commercial use All Com-paq Fortran 95 products include the Compaq Extended Math Library of optimizedscientific subroutines and the allocatable array extensions
29 IBM
httpwww-306ibmcomsoftwareawdtoolsfortran
httpwww-306ibmcomsoftwareawdtoolsfortranxlfortranfeaturesf2003html
XL Fortran Enterprise Edition for AIX XL Fortran Enterprise Edition for AIX pro-vides industry-leading code optimization and tuning features a full implementationof the OpenMP API Version 25 Symmetric Multiprocessing (SMP) APIs directmanipulation of the floating-point status and control register 64-bit enablementasynchronous IO debug memory routines and many other features
XL Fortran Advanced Edition for Blue Gene XL Fortran Advanced Edition forBlue Gene is the latest addition to our XL Fortran compiler family It expands our
210 INTEL 21
proven XL Fortarn compiler technology to exploit the capabilities of the PowerPC440 and 440d processors used in IBM Blue GeneL supercomputers
XL Fortran Advanced Edition for Linux XL Fortran Advanced Edition for Linuxsupports your choice of RHEL4 SLES9 and Y-HPC Linux distributions Advancedoptimization technology and VMX support help you create high-performance 32-bitand 64-bit applications that run efficiently on a variety of processor architecturesincluding IBMrsquos newest POWER5+ and PowerPC 970 processors and Apple PowerMac G5 and Xserve G5 systems
VS FORTRAN VS FORTRAN contains features geared to help Fortran program-mers develop applications more easily and efficiently while using the full power ofIBMrsquos large systems
The second web link has details of Fortran 2003 support
210 Intel
httpsoftwareintelcomen-usintel-compilers
Intel offers optimizing Fortran compilers for the IA-32 x64 and IA-64 (Intel Ita-nium) architectures running the Linux Mac OS X (IA-32 and x64) or Windows op-erating systems Intel Fortran is fully compliant with Fortran 95 and supports mostof Fortran 2003 as well as many popular extensions The compiler offers automaticparallelization and vectorization and supports OpenMP 30 as well as generatingoptimized code for the latest Intel processors and compatible non-Intel processors
On all platforms the Intel Fortran compiler includes the Intel Math Kernel Li-brary a library of highly optimized extensively threaded math routines for scienceengineering and financial applications The IMSL Fortran Numeric Library 60 fromVisual Numerics is an option on Windows
On Windows the compiler integrates into Microsoft Visual Studio 2003 2005 or2008 and includes a self-sufficient Fortran development environment based on Mi-crosoft Visual Studio 2008 The Windows compiler also provides mechanisms tointerface Fortran code with the Microsoft COM and NET environments Academicand student pricing is available
211 LaheyFujitsu
httpwwwlaheycom
LaheyFujitsu Fortran 95 is produced by the LaheyFujitsu alliance LF95 is avail-able in three Windows configurations Express Standard and PRO and two Linuxconfigurations Express and PRO All configurations feature VAX IBM and POSIXlanguage extensions allocatable array enhancements etc The Windows and LinuxExpress version is command line only and features the compiler linker and debug-ger PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-
22 CHAPTER 2 COMPILERS
TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creatingtrue Windows programs with Fortran and a Coverage Analysis Tool that detects un-executed code and performs range of operation checking The PRO is compatible withVisual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 Math Libraryand Visual Analyzer (see below) The PRO Linux version offers auto-parallelizationOpenMP compatibility thread-safe BLAS and LAPACK WiSK AUTOMAKE andFujitsus SSL2 All products come with free technical support and are available at Also available is a subset compiler elf90
It would appear that the Windows version is no longer under active developmentThe last update was dated December 2004
212 NAG
httpwwwnagcouknagwareasp
The NAG Fortran Compiler derived from the worldrsquos first Fortran 90 Compilerfrom NAG is robust highly tested and valued by developers all over the globe forits checking capabilities and detailed error reporting Available on a wide range ofUnix and Windows platforms it accepts fixed or free format Fortran 95 input andmany common Fortran 77 extensions are allowed A large number of Fortran 2003language features are now available HPF code is also compiled and checked thoughonly single processor output is generated The 53 release supports a good workingsubset of OpenMP 3
The following versions are availableApple Intel Mac64 Release 53 gcc 42HP PA-RISC 11 Release 51 HP ANSI CIBM Power AIX Release 51 AIX XL C 60IBM Z9 Linux Release 51 gcc 346IBM Z9 Open Edition Release 52 IBM CLinux x86-32 Release 53 gcc 322Linux64 Release 53 gcc 412Sun SPARC Solaris Release 52 gcc 342Sun SPARC Solaris Release 52 Sun C v 55x86 and x86-64 Windows Release 53An integrated Fortran IDE is also available for Windows
httpwwwnagcouknagwarenpfortranbuilderasp
213 NEC
httpwwwneccom
214 ORACLE - ORIGINALLY SUN 23
NEC has a native optimizing Fortran 95 compiler FORTRAN90SX with anautomatic vectorization and parallelization capability for its supercomputer SX se-ries HPFSX V2 provides functions conforming to the specification of HPF11 andHPF20 and can be used with vector processing functions in SX Fortran and withparallel processing functions using microtasking
214 Oracle - originally Sun
httpwwworaclecomussunindexhtm
httpwwwsuncom
httpdeveloperssuncomsunstudio
httpdeveloperssuncomsunstudiodownloadsexpress
Sun Studio software delivers high-performance optimizing C C++ and Fortrancompilers for the Solaris OS on SPARC and both Solaris and Linux on x86x64platforms including the latest multi-core systems
Whatrsquos in Sun StudioAll Compilers - Specify 32-bit or 64-bit Address Model Auto-parallelization of
single-threaded code Flags Static data-race and deadlock-detection for x86 Mathand Visual Instruction Set Support in SPARC64 VI Option for Floating-Point Fusedor Multiply-Add Instructions Option for Thread Analyzer support Linux SupportOpenMP and OpenMPI suport Support for the directives clauses and attributes
Fortran Compiler - Interval arithmetic support on Solaris Intel platform Fastercompilation time for source files UNSIGNED arguments Backward compatibilitywith f77
C Compiler - More options Auto-parallelization of single-threaded code GNU Ccompatibility
C++ Compiler - More options ABI compatibility Compiler flags to optimize formulticore architectures Static linking the standard C++ runtime library
215 PathScale
httpwwwpathscalecomproductspathscale_compiler_suite
PathScalersquos goal is to make it easier to develop and deploy 64-bit applications intoclustered environments PathScale has developed the industryrsquos highest-performanceC C++ and Fortran 9X compilers for 64-bit Linux-based computer systems ThePathScale Compiler Suite shares its heritage with the well-known and mature SGIcompiler suite The PathScale Compiler Suite has been optimized for both the
24 CHAPTER 2 COMPILERS
AMD64 and EM64T architectures and has the worldrsquos most sophisticated optimiza-tion infrastructure
Unlike other compilers the PathScale Compiler Suite provides superior perfor-mance across both floating-point and integer-intensive applications Application de-velopers targeting 64-bit Linux servers will see immediate performance benefits fromcompiling with the PathScale compilers
The PathScale Compiler Suite includesC C++ and Fortran 779095 compilers Industry leading optimizations Com-
plete support for OpenMP 20 (including WORKSHARE) Complete support for 64-bit and 32-bit x86 compilation Code generation for AMD64 ABI AMD Opteronand Intel EM64T PathScale optimized AMD Core Math Library (available for down-load) Advanced serial debugger PathDB Compatible with GNUgcc tool chain andpopular Third Party debuggers Supported on SUSE RedHat and Fedora Linux Thecurrently shipping version of the PathScale Compiler Suite is
216 PGI
httpwwwpgroupcom
High-performance Optimizing Parallel Compilers For multi-core 64-bit x64 and 32-bit x86 processor-based Linux Mac OS X and Windows workstations servers andclusters PGI Workstation includes a single seat license for PGIrsquos suite of compilersand tools Also available with a multi-user network floating license (PGI Server)The PGI CDK Cluster Development Kit includes all the software for building andprogramming a turn-key Linux cluster PGI Visual Fortran fully integrates PGIparallel Fortran into Microsoft Windows using Microsoft Visual Studio 2005
217 Silverfrost nee Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
Salford Software markets FTN95 a Fortran 95 compiler for Win32 running onWindows 95NT2000XP PCs It has announced its Fortran 95 compiler for Mi-crosoft NET (FTN95 for NET) This compiler will produce fast executables fromsource files that may be any combination of Fortran 77 Fortran 90 and Fortran 95FTN95 for NET including integrated Help and Debugger is supplied bundled withFTN95 for Win32 and optionally with Microsoft Visual Studio for NET A low-costfully-featured personal edition is also available
218 SGI
httpwwwsgicomproductssoftwareirixtoolsfortranhtml
219 SUN - SEE ORACLE 25
MIPSpro Fortran Compilers This 64-bit ANSI Fortran 77 compiler is ideal forsystems running IRIX 6x It is compatible with VAXVMS Fortran and supportsCray extensions The 74 version of the MIPSpro Fortran 77 and Fortran 90 compilersnow support the OpenMP 20 standard Among the new features introduced in theOpenMP 20 specification are
WORKSHARE directive COPYPRIVATE clause for the broadcast of sequentialreads Portable timing routines MIPSpro Fortran 90 Compiler A 64 bit ANSI Fortran90 compiler with additional support for user-defined multiprocessing directives forsystems running IRIX 6x Compatible with VAXVMS Fortran and supports Crayextensions With the release of version 74 Fortran 90 specific support under theOpenMP 20 standard are
Parallelization of F90 array syntax via the WORKSHARE directive Privatizationof deferred shape and assumed shape objects The full Fortran 20 specification canobtained from the OpenMP Web site at httpwwwopenmporg
For more information read about the MIPSpro compilers
219 Sun - see Oracle
220 No longer available
2201 Apogee
httpwwwapogeecom
Features of the FORTRAN 7790 CompilerNo longer available Originally available for the SolarisSPARC platforms the
compiler conforms to Sunrsquos Solaris ABI and produces assembler code files acceptableto Sunrsquos Solaris assembler When used in the FORTRAN 77 compilation modethe compiler is compliant with the MIL-STD 1753 FORTRAN 77 and accepts mostFORTRAN 77 extensions of Sun IBM and other F77 compilers The supportedF77 extensions include structures length qualification on types additional data andconstant types initializations in type statements additional statements (END DODO WHILE POINTER VOLATILE etc) computations with aggregates namelist-directed IOs and debugging statements
When used in the Fortran 90 mode the compiler is compliant with the ANSIISOFortran 90 standard
2202 Compaq
This compiler is no longer under development This ceased when Intel bought outthe technology from HP Still widely used with legacy software Copies for sale canbe found on Ebay and similar vites
26 CHAPTER 2 COMPILERS
2203 EPC
Edinburgh Portable Compilers was an early vendor to produce a Fortran 90 compila-tion system A report by Adam Marshall from Liverpool University has a comparisionof several early Fortran 90 compilers It can be found at the address below
httpwwwlivacukHPCFortranCompilerStudyHTMLFortranCompilerStudyHTMLhtml
2204 NA Software
httpwwwnasoftwarecoukhomehtml
No longer available
Chapter 3
Fortran aware editors and IDEs
bull Version 15 October 2011 Updated photran entry
bull Version 14 July 2010 Added SunStudio Express entry
bull Version 131 April 2006 Added Windows Zeus entry
31 Windows
311 Absoft Editor (ae)
httpwwwabsoftcom
312 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
313 compaq visual fortran 6x
Nolongeravailable
314 editeur
wwwstudiowarecom
315 emacsxemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
316 emacsxemacs - cygwin components
httpwwwcygwincom
28 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
317 gvimvim - stand alone
httpwwwvimorg
318 gvimvim - cygwin component
httpwwwcygwincom
319 jed wjed (Windows)
httpwwwjedsoftorgjed
3110 lahey ed
httpwwwlaheycom
3111 microsoft visual studio 6
No longer available
3112 Microsoft Visual StudioNET
There are a number of vendors that have provided integration with Microsoft VisualStudio NET These include
Intel Visual Fortranwwwintelcom
LaheyFujitsu Fortranwwwlaheycom
Silverfrost Salford FTN95httpwwwsilverfrostcom11ftn95overviewasp
3113 nedit - cygwin
httpwwwneditorg
3114 ntemacs
httpwwwgnuorgsoftwareemacswindowsntemacshtml
3115 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
32 LINUXUNIX 29
3116 salford plato
httpwwwsilverfrostcom11ftn95overviewasp
3117 Oracle Solaris Studio Express
httpdeveloperssuncomsunstudiodownloadsexpress
3118 UltraEdit
wwwultraeditcom
3119 xemacsemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
3120 xemacsemacs - cygwin components
httpwwwcygwincom
3121 Zeus ide
httpwwwzeuseditcomfortranhtml
32 LinuxUnix
321 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
322 emacsxemacs
httpwwwgnuorgsoftwareemacsemacshtml
323 jed xjed (Unix(all flavours)OpenVMS) wjed (Win-dows)
httpwwwjedsoftorgjed
324 nedit
httpwwwneditorg
30 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
325 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
33 Apple OS X
331 Absoft Editor
httpwwwabsoftcom
332 BBEdit
httpwwwapplecomdownloadsmacosxproductivity_toolsbbedithtml
httpwwwbarebonescomproductsbbeditindexshtml
333 emacsxemacs
pre-installed
334 Photran
wwwphotranorg
335 Smultron
httpsmultronsourceforgenet
336 TextMate
httpmacromatescom
337 TextWrangler
httpwwwapplecomdownloadsmacosxproductivity_toolstextwranglerhtml
httpwwwbarebonescomproductstextwranglerindexshtml
338 Vim
Pre-installed
33 APPLE OS X 31
339 Xcode
httpdeveloperapplecom
3310 xemacsemacs
pre-installed
32 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
Chapter 4
Commercial Courses
bull Version 14 August 2012 Updated several entries
bull Version 13 November 2011 Notified by Shaun Forth at Cranfield of theirchanges Also added the HECToR entries
bull Version 12 August 2010
bull Version 11 September 2008
bull Version 10 January 2006
41 Ian Chivers and Jane Sleightholme
Ian Chivers and Jane Sleightholme are available to do tailored on site courses Coursesinclude
bull Introduction to Modern Programming in Fortran
bull Advanced Features of Modern Fortran
See
httpwwwfortranpluscouk
42 Cranfield University
Cranfield University offers four Fortran programming courses
bull Introduction to Programming in Fortran 95 and 2003 (3 days)
bull Advanced Programming in Fortran 95 and 2003 (3 days)
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
16 CHAPTER 1 BOOKS
Chapter 2
Compilers
bull Version 110 August 2012 Updated Nag entry 53 release supports openMPAlso updated product availability entry
bull Version 19 November 2010 Updated Absoft in response to an email fromWood Lotz
bull Version 18 July 2010 Updated Sun to reflect takeover by Oracle UpdatedSalford to reflect Silverfrost rebranding
bull Version 17 June 2009 Updated the Cray and Intel entries Added a newsection on compilers that are no longer available This has involved moving theentries on Apogee Compaq and NA Software into this section For historicalcompleteness wersquove also added an entry for EPC to this section
bull Version 16 September 2008 Updated the NAG entry with more details of theFortran Builder IDE
bull Version 15 September 2007 Updated Absoft Entry Compaq Fortran Com-pany Fujitsu Gnu Fortran 95 G95 IBM Intel LaheyFujitsu NAG NASoftware NEC Pathscale PGI SalfordSilverfrost SGI Sun
21 Introduction
The following is a list of companies and organisations that provide Fortran compilersthat conform to the Fortran 90 95 2003 and 2008 standards Fortran Forum hasa more or less standing table on compilers that support features from the 2003 and2008 standards The gfortran g95 and Sun compilers are free for Linux and gfortranand g95 are free for Windows
22 Absoft
httpwwwabsoftcom
18 CHAPTER 2 COMPILERS
Absoft Pro Fortran is a complete tool suite designed to automate building par-allel code on Linux Windows or Mac OSIntel Absoft Rolls are also available forx64Linux Compilers are full F95 include all popular legacy extensions many fromF2003 and are fully link and debug compatible with the host (Linux Microsoft MacOS) tool chain Compilers offer automatic parallelization vectorization OpenMP 30GPU support and Absoft application performance is consistently rated 1 on AMDand Intel systems by third party benchmarks IDE includes SMP graphical analyzerFx3 graphical multi-language debugger programmers editor several Fortran specificfeatures OpenMP and MPI controls math libraries VAXUnix libraries and 2D3Dgraphics Same look feel and functionality on all systems Nothing else to buy orlearn IMSL numerical libraries are a bundle option on all platforms
23 Cray
httpwwwcraycom
Cray has a fully optimizing Fortran 2003 compiler available for the Cray XT seriessystems This compiler also supports OpenMP and several Fortran 2008 featuresincluding submodules and coarrays
Cray has a fully-optimizing Fortran 95 compiler available for the Cray PVP (J90SV1) T3E and X1 systems The PVP compiler supports automatic parallization andOpenMP The T3E compiler supports coarrays The X1 compiler supports automaticstreaming OpenMP coarrays and many Fortran 2003 featuresrdquo
24 Fortran Company
httpwwwfortrancom
The Fortran Company offers F the subset language for Unix and Windows somein highly optimizing versions All of the full professional versions of the F compilerare available free by downloading them from the F anonymous ftp directory
The Fortran Tools include a Fortran 95 compiler with a graphical user interfacethat runs on Linux or Windows on a CD The CD also includes several Fortran booksin PDF format and many tools such as Matran a matrix computation library thatuses the highly tuned Atlas libraries a plotting package and a library of routines tocreate GUIs for your Fortran application programs
25 Fujitsu
httpwwwfujitsucomglobal
26 GNU FORTRAN 95 19
Fortran 95 (Solaris) A powerful updated development system used for FORTRANproductive applications Current version Sun Studio 9
The ISO Fortran 95 Standard is fully supported additionally there are enhance-ments for Fortran77 such as pointersstructures binaryoctalhexadecimal constantsetc High optimization includes automatic parallelization and OpenMP support AFortran runtime system optimized for UltraSPARC is now also included in the pack-age The development environment consists of the following components
Workbench An integral development environment for the CC++ and Fortrancompilers for compiler control program execution debugging performance analysiscoverage etc with a Motif-based graphical user interface (GUI)
Visual Analyzer A development and migration tool for CC++ and Fortranprograms The enclosed Source Analyzer allows the static program structure and theglobal data relations to be visualized It contains a class browser cross referencesand a calling graph viewer
Parallel Analyser Consists of an integrated development environment for theOpenMP programming It contains a manager a debugger and a profiler
Fujitsu also has a Fortran 95 compiler for Linux and a highly optimized nativeFortran 95 compiler FortranVPP and HPF for its VPP supercomputers
26 Gnu Fortran 95
httpgccgnuorgwikiGFortran
httpgccgnuorgfortran
Gfortran is the name of the GNU Fortran project developing a free Fortran 952003compiler for GCC the GNU Compiler Collection The gfortran development effortuses an open development environment in order to attract a larger team of devel-opers and to ensure that gfortran can work on multiple architectures and diverseenvironments The GNU Fortran 95 project or gfortran is developing a Fortran 95compiler front end as well as runtime libraries for GCC the GNU Compiler Col-lection Gfortran development is a part of the GNU project aiming to bring freenumber crunching to all GNU system variants The gfortran development effort usesan open development environment in order to attract a larger team of developers andto ensure that gfortran can work on multiple architectures and diverse environmentsIn particular the project wishes to reach the users of the Fortran 95 language beit in the scientific community in education or in a commercial environment Todaytruly free Fortran 90 or Fortran 95 compilers do not exist We are trying to makeone available to the Fortran community
27 g95
httpwwwg95org
20 CHAPTER 2 COMPILERS
g95 is a stable production Fortran 95 compiler available for multiple cpu architec-tures and operating systems Innovations and optimizations continue to be workedon Parts of the F2003 standard have been implemented in g95
28 Hewlett Packard
The web address that describes all of the compilers and supported hardware andoperating systems is
httph21007www2hpcomdspptechtech_TechSoftwareDetailPage_IDX11703623500h
HPrsquos Fortran products are available for multiple platforms Windows Tru64 UNIXAlphaServer systems Linux AlphaServer systems and HP OpenVMS (Alpha VAX)
Visual Fortran for WindowsFortran for Linux AlphaFortran for Tru64 UNIX AlphaFortran for HP OpenVMS AlphaFortran for HP OpenVMS IntegrityFortran for HP OpenVMS VAXFortran for HP-UXThe Windows product Compaq Visual Fortran includes the Microsoft Developer
Studio IDE which can be shared with Microsoft Visual C++ Parallel execution usingOpenMP-directed decomposition or HPF is included on the Tru64 UNIX platformOn Windows NT SMP parallel execution using directed decomposition is availablethrough Visual Compaq Fortran for Linux Alpha Systems is available as a freedownload under a Technology Enthusiast license for non-commercial use All Com-paq Fortran 95 products include the Compaq Extended Math Library of optimizedscientific subroutines and the allocatable array extensions
29 IBM
httpwww-306ibmcomsoftwareawdtoolsfortran
httpwww-306ibmcomsoftwareawdtoolsfortranxlfortranfeaturesf2003html
XL Fortran Enterprise Edition for AIX XL Fortran Enterprise Edition for AIX pro-vides industry-leading code optimization and tuning features a full implementationof the OpenMP API Version 25 Symmetric Multiprocessing (SMP) APIs directmanipulation of the floating-point status and control register 64-bit enablementasynchronous IO debug memory routines and many other features
XL Fortran Advanced Edition for Blue Gene XL Fortran Advanced Edition forBlue Gene is the latest addition to our XL Fortran compiler family It expands our
210 INTEL 21
proven XL Fortarn compiler technology to exploit the capabilities of the PowerPC440 and 440d processors used in IBM Blue GeneL supercomputers
XL Fortran Advanced Edition for Linux XL Fortran Advanced Edition for Linuxsupports your choice of RHEL4 SLES9 and Y-HPC Linux distributions Advancedoptimization technology and VMX support help you create high-performance 32-bitand 64-bit applications that run efficiently on a variety of processor architecturesincluding IBMrsquos newest POWER5+ and PowerPC 970 processors and Apple PowerMac G5 and Xserve G5 systems
VS FORTRAN VS FORTRAN contains features geared to help Fortran program-mers develop applications more easily and efficiently while using the full power ofIBMrsquos large systems
The second web link has details of Fortran 2003 support
210 Intel
httpsoftwareintelcomen-usintel-compilers
Intel offers optimizing Fortran compilers for the IA-32 x64 and IA-64 (Intel Ita-nium) architectures running the Linux Mac OS X (IA-32 and x64) or Windows op-erating systems Intel Fortran is fully compliant with Fortran 95 and supports mostof Fortran 2003 as well as many popular extensions The compiler offers automaticparallelization and vectorization and supports OpenMP 30 as well as generatingoptimized code for the latest Intel processors and compatible non-Intel processors
On all platforms the Intel Fortran compiler includes the Intel Math Kernel Li-brary a library of highly optimized extensively threaded math routines for scienceengineering and financial applications The IMSL Fortran Numeric Library 60 fromVisual Numerics is an option on Windows
On Windows the compiler integrates into Microsoft Visual Studio 2003 2005 or2008 and includes a self-sufficient Fortran development environment based on Mi-crosoft Visual Studio 2008 The Windows compiler also provides mechanisms tointerface Fortran code with the Microsoft COM and NET environments Academicand student pricing is available
211 LaheyFujitsu
httpwwwlaheycom
LaheyFujitsu Fortran 95 is produced by the LaheyFujitsu alliance LF95 is avail-able in three Windows configurations Express Standard and PRO and two Linuxconfigurations Express and PRO All configurations feature VAX IBM and POSIXlanguage extensions allocatable array enhancements etc The Windows and LinuxExpress version is command line only and features the compiler linker and debug-ger PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-
22 CHAPTER 2 COMPILERS
TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creatingtrue Windows programs with Fortran and a Coverage Analysis Tool that detects un-executed code and performs range of operation checking The PRO is compatible withVisual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 Math Libraryand Visual Analyzer (see below) The PRO Linux version offers auto-parallelizationOpenMP compatibility thread-safe BLAS and LAPACK WiSK AUTOMAKE andFujitsus SSL2 All products come with free technical support and are available at Also available is a subset compiler elf90
It would appear that the Windows version is no longer under active developmentThe last update was dated December 2004
212 NAG
httpwwwnagcouknagwareasp
The NAG Fortran Compiler derived from the worldrsquos first Fortran 90 Compilerfrom NAG is robust highly tested and valued by developers all over the globe forits checking capabilities and detailed error reporting Available on a wide range ofUnix and Windows platforms it accepts fixed or free format Fortran 95 input andmany common Fortran 77 extensions are allowed A large number of Fortran 2003language features are now available HPF code is also compiled and checked thoughonly single processor output is generated The 53 release supports a good workingsubset of OpenMP 3
The following versions are availableApple Intel Mac64 Release 53 gcc 42HP PA-RISC 11 Release 51 HP ANSI CIBM Power AIX Release 51 AIX XL C 60IBM Z9 Linux Release 51 gcc 346IBM Z9 Open Edition Release 52 IBM CLinux x86-32 Release 53 gcc 322Linux64 Release 53 gcc 412Sun SPARC Solaris Release 52 gcc 342Sun SPARC Solaris Release 52 Sun C v 55x86 and x86-64 Windows Release 53An integrated Fortran IDE is also available for Windows
httpwwwnagcouknagwarenpfortranbuilderasp
213 NEC
httpwwwneccom
214 ORACLE - ORIGINALLY SUN 23
NEC has a native optimizing Fortran 95 compiler FORTRAN90SX with anautomatic vectorization and parallelization capability for its supercomputer SX se-ries HPFSX V2 provides functions conforming to the specification of HPF11 andHPF20 and can be used with vector processing functions in SX Fortran and withparallel processing functions using microtasking
214 Oracle - originally Sun
httpwwworaclecomussunindexhtm
httpwwwsuncom
httpdeveloperssuncomsunstudio
httpdeveloperssuncomsunstudiodownloadsexpress
Sun Studio software delivers high-performance optimizing C C++ and Fortrancompilers for the Solaris OS on SPARC and both Solaris and Linux on x86x64platforms including the latest multi-core systems
Whatrsquos in Sun StudioAll Compilers - Specify 32-bit or 64-bit Address Model Auto-parallelization of
single-threaded code Flags Static data-race and deadlock-detection for x86 Mathand Visual Instruction Set Support in SPARC64 VI Option for Floating-Point Fusedor Multiply-Add Instructions Option for Thread Analyzer support Linux SupportOpenMP and OpenMPI suport Support for the directives clauses and attributes
Fortran Compiler - Interval arithmetic support on Solaris Intel platform Fastercompilation time for source files UNSIGNED arguments Backward compatibilitywith f77
C Compiler - More options Auto-parallelization of single-threaded code GNU Ccompatibility
C++ Compiler - More options ABI compatibility Compiler flags to optimize formulticore architectures Static linking the standard C++ runtime library
215 PathScale
httpwwwpathscalecomproductspathscale_compiler_suite
PathScalersquos goal is to make it easier to develop and deploy 64-bit applications intoclustered environments PathScale has developed the industryrsquos highest-performanceC C++ and Fortran 9X compilers for 64-bit Linux-based computer systems ThePathScale Compiler Suite shares its heritage with the well-known and mature SGIcompiler suite The PathScale Compiler Suite has been optimized for both the
24 CHAPTER 2 COMPILERS
AMD64 and EM64T architectures and has the worldrsquos most sophisticated optimiza-tion infrastructure
Unlike other compilers the PathScale Compiler Suite provides superior perfor-mance across both floating-point and integer-intensive applications Application de-velopers targeting 64-bit Linux servers will see immediate performance benefits fromcompiling with the PathScale compilers
The PathScale Compiler Suite includesC C++ and Fortran 779095 compilers Industry leading optimizations Com-
plete support for OpenMP 20 (including WORKSHARE) Complete support for 64-bit and 32-bit x86 compilation Code generation for AMD64 ABI AMD Opteronand Intel EM64T PathScale optimized AMD Core Math Library (available for down-load) Advanced serial debugger PathDB Compatible with GNUgcc tool chain andpopular Third Party debuggers Supported on SUSE RedHat and Fedora Linux Thecurrently shipping version of the PathScale Compiler Suite is
216 PGI
httpwwwpgroupcom
High-performance Optimizing Parallel Compilers For multi-core 64-bit x64 and 32-bit x86 processor-based Linux Mac OS X and Windows workstations servers andclusters PGI Workstation includes a single seat license for PGIrsquos suite of compilersand tools Also available with a multi-user network floating license (PGI Server)The PGI CDK Cluster Development Kit includes all the software for building andprogramming a turn-key Linux cluster PGI Visual Fortran fully integrates PGIparallel Fortran into Microsoft Windows using Microsoft Visual Studio 2005
217 Silverfrost nee Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
Salford Software markets FTN95 a Fortran 95 compiler for Win32 running onWindows 95NT2000XP PCs It has announced its Fortran 95 compiler for Mi-crosoft NET (FTN95 for NET) This compiler will produce fast executables fromsource files that may be any combination of Fortran 77 Fortran 90 and Fortran 95FTN95 for NET including integrated Help and Debugger is supplied bundled withFTN95 for Win32 and optionally with Microsoft Visual Studio for NET A low-costfully-featured personal edition is also available
218 SGI
httpwwwsgicomproductssoftwareirixtoolsfortranhtml
219 SUN - SEE ORACLE 25
MIPSpro Fortran Compilers This 64-bit ANSI Fortran 77 compiler is ideal forsystems running IRIX 6x It is compatible with VAXVMS Fortran and supportsCray extensions The 74 version of the MIPSpro Fortran 77 and Fortran 90 compilersnow support the OpenMP 20 standard Among the new features introduced in theOpenMP 20 specification are
WORKSHARE directive COPYPRIVATE clause for the broadcast of sequentialreads Portable timing routines MIPSpro Fortran 90 Compiler A 64 bit ANSI Fortran90 compiler with additional support for user-defined multiprocessing directives forsystems running IRIX 6x Compatible with VAXVMS Fortran and supports Crayextensions With the release of version 74 Fortran 90 specific support under theOpenMP 20 standard are
Parallelization of F90 array syntax via the WORKSHARE directive Privatizationof deferred shape and assumed shape objects The full Fortran 20 specification canobtained from the OpenMP Web site at httpwwwopenmporg
For more information read about the MIPSpro compilers
219 Sun - see Oracle
220 No longer available
2201 Apogee
httpwwwapogeecom
Features of the FORTRAN 7790 CompilerNo longer available Originally available for the SolarisSPARC platforms the
compiler conforms to Sunrsquos Solaris ABI and produces assembler code files acceptableto Sunrsquos Solaris assembler When used in the FORTRAN 77 compilation modethe compiler is compliant with the MIL-STD 1753 FORTRAN 77 and accepts mostFORTRAN 77 extensions of Sun IBM and other F77 compilers The supportedF77 extensions include structures length qualification on types additional data andconstant types initializations in type statements additional statements (END DODO WHILE POINTER VOLATILE etc) computations with aggregates namelist-directed IOs and debugging statements
When used in the Fortran 90 mode the compiler is compliant with the ANSIISOFortran 90 standard
2202 Compaq
This compiler is no longer under development This ceased when Intel bought outthe technology from HP Still widely used with legacy software Copies for sale canbe found on Ebay and similar vites
26 CHAPTER 2 COMPILERS
2203 EPC
Edinburgh Portable Compilers was an early vendor to produce a Fortran 90 compila-tion system A report by Adam Marshall from Liverpool University has a comparisionof several early Fortran 90 compilers It can be found at the address below
httpwwwlivacukHPCFortranCompilerStudyHTMLFortranCompilerStudyHTMLhtml
2204 NA Software
httpwwwnasoftwarecoukhomehtml
No longer available
Chapter 3
Fortran aware editors and IDEs
bull Version 15 October 2011 Updated photran entry
bull Version 14 July 2010 Added SunStudio Express entry
bull Version 131 April 2006 Added Windows Zeus entry
31 Windows
311 Absoft Editor (ae)
httpwwwabsoftcom
312 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
313 compaq visual fortran 6x
Nolongeravailable
314 editeur
wwwstudiowarecom
315 emacsxemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
316 emacsxemacs - cygwin components
httpwwwcygwincom
28 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
317 gvimvim - stand alone
httpwwwvimorg
318 gvimvim - cygwin component
httpwwwcygwincom
319 jed wjed (Windows)
httpwwwjedsoftorgjed
3110 lahey ed
httpwwwlaheycom
3111 microsoft visual studio 6
No longer available
3112 Microsoft Visual StudioNET
There are a number of vendors that have provided integration with Microsoft VisualStudio NET These include
Intel Visual Fortranwwwintelcom
LaheyFujitsu Fortranwwwlaheycom
Silverfrost Salford FTN95httpwwwsilverfrostcom11ftn95overviewasp
3113 nedit - cygwin
httpwwwneditorg
3114 ntemacs
httpwwwgnuorgsoftwareemacswindowsntemacshtml
3115 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
32 LINUXUNIX 29
3116 salford plato
httpwwwsilverfrostcom11ftn95overviewasp
3117 Oracle Solaris Studio Express
httpdeveloperssuncomsunstudiodownloadsexpress
3118 UltraEdit
wwwultraeditcom
3119 xemacsemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
3120 xemacsemacs - cygwin components
httpwwwcygwincom
3121 Zeus ide
httpwwwzeuseditcomfortranhtml
32 LinuxUnix
321 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
322 emacsxemacs
httpwwwgnuorgsoftwareemacsemacshtml
323 jed xjed (Unix(all flavours)OpenVMS) wjed (Win-dows)
httpwwwjedsoftorgjed
324 nedit
httpwwwneditorg
30 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
325 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
33 Apple OS X
331 Absoft Editor
httpwwwabsoftcom
332 BBEdit
httpwwwapplecomdownloadsmacosxproductivity_toolsbbedithtml
httpwwwbarebonescomproductsbbeditindexshtml
333 emacsxemacs
pre-installed
334 Photran
wwwphotranorg
335 Smultron
httpsmultronsourceforgenet
336 TextMate
httpmacromatescom
337 TextWrangler
httpwwwapplecomdownloadsmacosxproductivity_toolstextwranglerhtml
httpwwwbarebonescomproductstextwranglerindexshtml
338 Vim
Pre-installed
33 APPLE OS X 31
339 Xcode
httpdeveloperapplecom
3310 xemacsemacs
pre-installed
32 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
Chapter 4
Commercial Courses
bull Version 14 August 2012 Updated several entries
bull Version 13 November 2011 Notified by Shaun Forth at Cranfield of theirchanges Also added the HECToR entries
bull Version 12 August 2010
bull Version 11 September 2008
bull Version 10 January 2006
41 Ian Chivers and Jane Sleightholme
Ian Chivers and Jane Sleightholme are available to do tailored on site courses Coursesinclude
bull Introduction to Modern Programming in Fortran
bull Advanced Features of Modern Fortran
See
httpwwwfortranpluscouk
42 Cranfield University
Cranfield University offers four Fortran programming courses
bull Introduction to Programming in Fortran 95 and 2003 (3 days)
bull Advanced Programming in Fortran 95 and 2003 (3 days)
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
Chapter 2
Compilers
bull Version 110 August 2012 Updated Nag entry 53 release supports openMPAlso updated product availability entry
bull Version 19 November 2010 Updated Absoft in response to an email fromWood Lotz
bull Version 18 July 2010 Updated Sun to reflect takeover by Oracle UpdatedSalford to reflect Silverfrost rebranding
bull Version 17 June 2009 Updated the Cray and Intel entries Added a newsection on compilers that are no longer available This has involved moving theentries on Apogee Compaq and NA Software into this section For historicalcompleteness wersquove also added an entry for EPC to this section
bull Version 16 September 2008 Updated the NAG entry with more details of theFortran Builder IDE
bull Version 15 September 2007 Updated Absoft Entry Compaq Fortran Com-pany Fujitsu Gnu Fortran 95 G95 IBM Intel LaheyFujitsu NAG NASoftware NEC Pathscale PGI SalfordSilverfrost SGI Sun
21 Introduction
The following is a list of companies and organisations that provide Fortran compilersthat conform to the Fortran 90 95 2003 and 2008 standards Fortran Forum hasa more or less standing table on compilers that support features from the 2003 and2008 standards The gfortran g95 and Sun compilers are free for Linux and gfortranand g95 are free for Windows
22 Absoft
httpwwwabsoftcom
18 CHAPTER 2 COMPILERS
Absoft Pro Fortran is a complete tool suite designed to automate building par-allel code on Linux Windows or Mac OSIntel Absoft Rolls are also available forx64Linux Compilers are full F95 include all popular legacy extensions many fromF2003 and are fully link and debug compatible with the host (Linux Microsoft MacOS) tool chain Compilers offer automatic parallelization vectorization OpenMP 30GPU support and Absoft application performance is consistently rated 1 on AMDand Intel systems by third party benchmarks IDE includes SMP graphical analyzerFx3 graphical multi-language debugger programmers editor several Fortran specificfeatures OpenMP and MPI controls math libraries VAXUnix libraries and 2D3Dgraphics Same look feel and functionality on all systems Nothing else to buy orlearn IMSL numerical libraries are a bundle option on all platforms
23 Cray
httpwwwcraycom
Cray has a fully optimizing Fortran 2003 compiler available for the Cray XT seriessystems This compiler also supports OpenMP and several Fortran 2008 featuresincluding submodules and coarrays
Cray has a fully-optimizing Fortran 95 compiler available for the Cray PVP (J90SV1) T3E and X1 systems The PVP compiler supports automatic parallization andOpenMP The T3E compiler supports coarrays The X1 compiler supports automaticstreaming OpenMP coarrays and many Fortran 2003 featuresrdquo
24 Fortran Company
httpwwwfortrancom
The Fortran Company offers F the subset language for Unix and Windows somein highly optimizing versions All of the full professional versions of the F compilerare available free by downloading them from the F anonymous ftp directory
The Fortran Tools include a Fortran 95 compiler with a graphical user interfacethat runs on Linux or Windows on a CD The CD also includes several Fortran booksin PDF format and many tools such as Matran a matrix computation library thatuses the highly tuned Atlas libraries a plotting package and a library of routines tocreate GUIs for your Fortran application programs
25 Fujitsu
httpwwwfujitsucomglobal
26 GNU FORTRAN 95 19
Fortran 95 (Solaris) A powerful updated development system used for FORTRANproductive applications Current version Sun Studio 9
The ISO Fortran 95 Standard is fully supported additionally there are enhance-ments for Fortran77 such as pointersstructures binaryoctalhexadecimal constantsetc High optimization includes automatic parallelization and OpenMP support AFortran runtime system optimized for UltraSPARC is now also included in the pack-age The development environment consists of the following components
Workbench An integral development environment for the CC++ and Fortrancompilers for compiler control program execution debugging performance analysiscoverage etc with a Motif-based graphical user interface (GUI)
Visual Analyzer A development and migration tool for CC++ and Fortranprograms The enclosed Source Analyzer allows the static program structure and theglobal data relations to be visualized It contains a class browser cross referencesand a calling graph viewer
Parallel Analyser Consists of an integrated development environment for theOpenMP programming It contains a manager a debugger and a profiler
Fujitsu also has a Fortran 95 compiler for Linux and a highly optimized nativeFortran 95 compiler FortranVPP and HPF for its VPP supercomputers
26 Gnu Fortran 95
httpgccgnuorgwikiGFortran
httpgccgnuorgfortran
Gfortran is the name of the GNU Fortran project developing a free Fortran 952003compiler for GCC the GNU Compiler Collection The gfortran development effortuses an open development environment in order to attract a larger team of devel-opers and to ensure that gfortran can work on multiple architectures and diverseenvironments The GNU Fortran 95 project or gfortran is developing a Fortran 95compiler front end as well as runtime libraries for GCC the GNU Compiler Col-lection Gfortran development is a part of the GNU project aiming to bring freenumber crunching to all GNU system variants The gfortran development effort usesan open development environment in order to attract a larger team of developers andto ensure that gfortran can work on multiple architectures and diverse environmentsIn particular the project wishes to reach the users of the Fortran 95 language beit in the scientific community in education or in a commercial environment Todaytruly free Fortran 90 or Fortran 95 compilers do not exist We are trying to makeone available to the Fortran community
27 g95
httpwwwg95org
20 CHAPTER 2 COMPILERS
g95 is a stable production Fortran 95 compiler available for multiple cpu architec-tures and operating systems Innovations and optimizations continue to be workedon Parts of the F2003 standard have been implemented in g95
28 Hewlett Packard
The web address that describes all of the compilers and supported hardware andoperating systems is
httph21007www2hpcomdspptechtech_TechSoftwareDetailPage_IDX11703623500h
HPrsquos Fortran products are available for multiple platforms Windows Tru64 UNIXAlphaServer systems Linux AlphaServer systems and HP OpenVMS (Alpha VAX)
Visual Fortran for WindowsFortran for Linux AlphaFortran for Tru64 UNIX AlphaFortran for HP OpenVMS AlphaFortran for HP OpenVMS IntegrityFortran for HP OpenVMS VAXFortran for HP-UXThe Windows product Compaq Visual Fortran includes the Microsoft Developer
Studio IDE which can be shared with Microsoft Visual C++ Parallel execution usingOpenMP-directed decomposition or HPF is included on the Tru64 UNIX platformOn Windows NT SMP parallel execution using directed decomposition is availablethrough Visual Compaq Fortran for Linux Alpha Systems is available as a freedownload under a Technology Enthusiast license for non-commercial use All Com-paq Fortran 95 products include the Compaq Extended Math Library of optimizedscientific subroutines and the allocatable array extensions
29 IBM
httpwww-306ibmcomsoftwareawdtoolsfortran
httpwww-306ibmcomsoftwareawdtoolsfortranxlfortranfeaturesf2003html
XL Fortran Enterprise Edition for AIX XL Fortran Enterprise Edition for AIX pro-vides industry-leading code optimization and tuning features a full implementationof the OpenMP API Version 25 Symmetric Multiprocessing (SMP) APIs directmanipulation of the floating-point status and control register 64-bit enablementasynchronous IO debug memory routines and many other features
XL Fortran Advanced Edition for Blue Gene XL Fortran Advanced Edition forBlue Gene is the latest addition to our XL Fortran compiler family It expands our
210 INTEL 21
proven XL Fortarn compiler technology to exploit the capabilities of the PowerPC440 and 440d processors used in IBM Blue GeneL supercomputers
XL Fortran Advanced Edition for Linux XL Fortran Advanced Edition for Linuxsupports your choice of RHEL4 SLES9 and Y-HPC Linux distributions Advancedoptimization technology and VMX support help you create high-performance 32-bitand 64-bit applications that run efficiently on a variety of processor architecturesincluding IBMrsquos newest POWER5+ and PowerPC 970 processors and Apple PowerMac G5 and Xserve G5 systems
VS FORTRAN VS FORTRAN contains features geared to help Fortran program-mers develop applications more easily and efficiently while using the full power ofIBMrsquos large systems
The second web link has details of Fortran 2003 support
210 Intel
httpsoftwareintelcomen-usintel-compilers
Intel offers optimizing Fortran compilers for the IA-32 x64 and IA-64 (Intel Ita-nium) architectures running the Linux Mac OS X (IA-32 and x64) or Windows op-erating systems Intel Fortran is fully compliant with Fortran 95 and supports mostof Fortran 2003 as well as many popular extensions The compiler offers automaticparallelization and vectorization and supports OpenMP 30 as well as generatingoptimized code for the latest Intel processors and compatible non-Intel processors
On all platforms the Intel Fortran compiler includes the Intel Math Kernel Li-brary a library of highly optimized extensively threaded math routines for scienceengineering and financial applications The IMSL Fortran Numeric Library 60 fromVisual Numerics is an option on Windows
On Windows the compiler integrates into Microsoft Visual Studio 2003 2005 or2008 and includes a self-sufficient Fortran development environment based on Mi-crosoft Visual Studio 2008 The Windows compiler also provides mechanisms tointerface Fortran code with the Microsoft COM and NET environments Academicand student pricing is available
211 LaheyFujitsu
httpwwwlaheycom
LaheyFujitsu Fortran 95 is produced by the LaheyFujitsu alliance LF95 is avail-able in three Windows configurations Express Standard and PRO and two Linuxconfigurations Express and PRO All configurations feature VAX IBM and POSIXlanguage extensions allocatable array enhancements etc The Windows and LinuxExpress version is command line only and features the compiler linker and debug-ger PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-
22 CHAPTER 2 COMPILERS
TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creatingtrue Windows programs with Fortran and a Coverage Analysis Tool that detects un-executed code and performs range of operation checking The PRO is compatible withVisual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 Math Libraryand Visual Analyzer (see below) The PRO Linux version offers auto-parallelizationOpenMP compatibility thread-safe BLAS and LAPACK WiSK AUTOMAKE andFujitsus SSL2 All products come with free technical support and are available at Also available is a subset compiler elf90
It would appear that the Windows version is no longer under active developmentThe last update was dated December 2004
212 NAG
httpwwwnagcouknagwareasp
The NAG Fortran Compiler derived from the worldrsquos first Fortran 90 Compilerfrom NAG is robust highly tested and valued by developers all over the globe forits checking capabilities and detailed error reporting Available on a wide range ofUnix and Windows platforms it accepts fixed or free format Fortran 95 input andmany common Fortran 77 extensions are allowed A large number of Fortran 2003language features are now available HPF code is also compiled and checked thoughonly single processor output is generated The 53 release supports a good workingsubset of OpenMP 3
The following versions are availableApple Intel Mac64 Release 53 gcc 42HP PA-RISC 11 Release 51 HP ANSI CIBM Power AIX Release 51 AIX XL C 60IBM Z9 Linux Release 51 gcc 346IBM Z9 Open Edition Release 52 IBM CLinux x86-32 Release 53 gcc 322Linux64 Release 53 gcc 412Sun SPARC Solaris Release 52 gcc 342Sun SPARC Solaris Release 52 Sun C v 55x86 and x86-64 Windows Release 53An integrated Fortran IDE is also available for Windows
httpwwwnagcouknagwarenpfortranbuilderasp
213 NEC
httpwwwneccom
214 ORACLE - ORIGINALLY SUN 23
NEC has a native optimizing Fortran 95 compiler FORTRAN90SX with anautomatic vectorization and parallelization capability for its supercomputer SX se-ries HPFSX V2 provides functions conforming to the specification of HPF11 andHPF20 and can be used with vector processing functions in SX Fortran and withparallel processing functions using microtasking
214 Oracle - originally Sun
httpwwworaclecomussunindexhtm
httpwwwsuncom
httpdeveloperssuncomsunstudio
httpdeveloperssuncomsunstudiodownloadsexpress
Sun Studio software delivers high-performance optimizing C C++ and Fortrancompilers for the Solaris OS on SPARC and both Solaris and Linux on x86x64platforms including the latest multi-core systems
Whatrsquos in Sun StudioAll Compilers - Specify 32-bit or 64-bit Address Model Auto-parallelization of
single-threaded code Flags Static data-race and deadlock-detection for x86 Mathand Visual Instruction Set Support in SPARC64 VI Option for Floating-Point Fusedor Multiply-Add Instructions Option for Thread Analyzer support Linux SupportOpenMP and OpenMPI suport Support for the directives clauses and attributes
Fortran Compiler - Interval arithmetic support on Solaris Intel platform Fastercompilation time for source files UNSIGNED arguments Backward compatibilitywith f77
C Compiler - More options Auto-parallelization of single-threaded code GNU Ccompatibility
C++ Compiler - More options ABI compatibility Compiler flags to optimize formulticore architectures Static linking the standard C++ runtime library
215 PathScale
httpwwwpathscalecomproductspathscale_compiler_suite
PathScalersquos goal is to make it easier to develop and deploy 64-bit applications intoclustered environments PathScale has developed the industryrsquos highest-performanceC C++ and Fortran 9X compilers for 64-bit Linux-based computer systems ThePathScale Compiler Suite shares its heritage with the well-known and mature SGIcompiler suite The PathScale Compiler Suite has been optimized for both the
24 CHAPTER 2 COMPILERS
AMD64 and EM64T architectures and has the worldrsquos most sophisticated optimiza-tion infrastructure
Unlike other compilers the PathScale Compiler Suite provides superior perfor-mance across both floating-point and integer-intensive applications Application de-velopers targeting 64-bit Linux servers will see immediate performance benefits fromcompiling with the PathScale compilers
The PathScale Compiler Suite includesC C++ and Fortran 779095 compilers Industry leading optimizations Com-
plete support for OpenMP 20 (including WORKSHARE) Complete support for 64-bit and 32-bit x86 compilation Code generation for AMD64 ABI AMD Opteronand Intel EM64T PathScale optimized AMD Core Math Library (available for down-load) Advanced serial debugger PathDB Compatible with GNUgcc tool chain andpopular Third Party debuggers Supported on SUSE RedHat and Fedora Linux Thecurrently shipping version of the PathScale Compiler Suite is
216 PGI
httpwwwpgroupcom
High-performance Optimizing Parallel Compilers For multi-core 64-bit x64 and 32-bit x86 processor-based Linux Mac OS X and Windows workstations servers andclusters PGI Workstation includes a single seat license for PGIrsquos suite of compilersand tools Also available with a multi-user network floating license (PGI Server)The PGI CDK Cluster Development Kit includes all the software for building andprogramming a turn-key Linux cluster PGI Visual Fortran fully integrates PGIparallel Fortran into Microsoft Windows using Microsoft Visual Studio 2005
217 Silverfrost nee Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
Salford Software markets FTN95 a Fortran 95 compiler for Win32 running onWindows 95NT2000XP PCs It has announced its Fortran 95 compiler for Mi-crosoft NET (FTN95 for NET) This compiler will produce fast executables fromsource files that may be any combination of Fortran 77 Fortran 90 and Fortran 95FTN95 for NET including integrated Help and Debugger is supplied bundled withFTN95 for Win32 and optionally with Microsoft Visual Studio for NET A low-costfully-featured personal edition is also available
218 SGI
httpwwwsgicomproductssoftwareirixtoolsfortranhtml
219 SUN - SEE ORACLE 25
MIPSpro Fortran Compilers This 64-bit ANSI Fortran 77 compiler is ideal forsystems running IRIX 6x It is compatible with VAXVMS Fortran and supportsCray extensions The 74 version of the MIPSpro Fortran 77 and Fortran 90 compilersnow support the OpenMP 20 standard Among the new features introduced in theOpenMP 20 specification are
WORKSHARE directive COPYPRIVATE clause for the broadcast of sequentialreads Portable timing routines MIPSpro Fortran 90 Compiler A 64 bit ANSI Fortran90 compiler with additional support for user-defined multiprocessing directives forsystems running IRIX 6x Compatible with VAXVMS Fortran and supports Crayextensions With the release of version 74 Fortran 90 specific support under theOpenMP 20 standard are
Parallelization of F90 array syntax via the WORKSHARE directive Privatizationof deferred shape and assumed shape objects The full Fortran 20 specification canobtained from the OpenMP Web site at httpwwwopenmporg
For more information read about the MIPSpro compilers
219 Sun - see Oracle
220 No longer available
2201 Apogee
httpwwwapogeecom
Features of the FORTRAN 7790 CompilerNo longer available Originally available for the SolarisSPARC platforms the
compiler conforms to Sunrsquos Solaris ABI and produces assembler code files acceptableto Sunrsquos Solaris assembler When used in the FORTRAN 77 compilation modethe compiler is compliant with the MIL-STD 1753 FORTRAN 77 and accepts mostFORTRAN 77 extensions of Sun IBM and other F77 compilers The supportedF77 extensions include structures length qualification on types additional data andconstant types initializations in type statements additional statements (END DODO WHILE POINTER VOLATILE etc) computations with aggregates namelist-directed IOs and debugging statements
When used in the Fortran 90 mode the compiler is compliant with the ANSIISOFortran 90 standard
2202 Compaq
This compiler is no longer under development This ceased when Intel bought outthe technology from HP Still widely used with legacy software Copies for sale canbe found on Ebay and similar vites
26 CHAPTER 2 COMPILERS
2203 EPC
Edinburgh Portable Compilers was an early vendor to produce a Fortran 90 compila-tion system A report by Adam Marshall from Liverpool University has a comparisionof several early Fortran 90 compilers It can be found at the address below
httpwwwlivacukHPCFortranCompilerStudyHTMLFortranCompilerStudyHTMLhtml
2204 NA Software
httpwwwnasoftwarecoukhomehtml
No longer available
Chapter 3
Fortran aware editors and IDEs
bull Version 15 October 2011 Updated photran entry
bull Version 14 July 2010 Added SunStudio Express entry
bull Version 131 April 2006 Added Windows Zeus entry
31 Windows
311 Absoft Editor (ae)
httpwwwabsoftcom
312 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
313 compaq visual fortran 6x
Nolongeravailable
314 editeur
wwwstudiowarecom
315 emacsxemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
316 emacsxemacs - cygwin components
httpwwwcygwincom
28 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
317 gvimvim - stand alone
httpwwwvimorg
318 gvimvim - cygwin component
httpwwwcygwincom
319 jed wjed (Windows)
httpwwwjedsoftorgjed
3110 lahey ed
httpwwwlaheycom
3111 microsoft visual studio 6
No longer available
3112 Microsoft Visual StudioNET
There are a number of vendors that have provided integration with Microsoft VisualStudio NET These include
Intel Visual Fortranwwwintelcom
LaheyFujitsu Fortranwwwlaheycom
Silverfrost Salford FTN95httpwwwsilverfrostcom11ftn95overviewasp
3113 nedit - cygwin
httpwwwneditorg
3114 ntemacs
httpwwwgnuorgsoftwareemacswindowsntemacshtml
3115 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
32 LINUXUNIX 29
3116 salford plato
httpwwwsilverfrostcom11ftn95overviewasp
3117 Oracle Solaris Studio Express
httpdeveloperssuncomsunstudiodownloadsexpress
3118 UltraEdit
wwwultraeditcom
3119 xemacsemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
3120 xemacsemacs - cygwin components
httpwwwcygwincom
3121 Zeus ide
httpwwwzeuseditcomfortranhtml
32 LinuxUnix
321 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
322 emacsxemacs
httpwwwgnuorgsoftwareemacsemacshtml
323 jed xjed (Unix(all flavours)OpenVMS) wjed (Win-dows)
httpwwwjedsoftorgjed
324 nedit
httpwwwneditorg
30 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
325 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
33 Apple OS X
331 Absoft Editor
httpwwwabsoftcom
332 BBEdit
httpwwwapplecomdownloadsmacosxproductivity_toolsbbedithtml
httpwwwbarebonescomproductsbbeditindexshtml
333 emacsxemacs
pre-installed
334 Photran
wwwphotranorg
335 Smultron
httpsmultronsourceforgenet
336 TextMate
httpmacromatescom
337 TextWrangler
httpwwwapplecomdownloadsmacosxproductivity_toolstextwranglerhtml
httpwwwbarebonescomproductstextwranglerindexshtml
338 Vim
Pre-installed
33 APPLE OS X 31
339 Xcode
httpdeveloperapplecom
3310 xemacsemacs
pre-installed
32 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
Chapter 4
Commercial Courses
bull Version 14 August 2012 Updated several entries
bull Version 13 November 2011 Notified by Shaun Forth at Cranfield of theirchanges Also added the HECToR entries
bull Version 12 August 2010
bull Version 11 September 2008
bull Version 10 January 2006
41 Ian Chivers and Jane Sleightholme
Ian Chivers and Jane Sleightholme are available to do tailored on site courses Coursesinclude
bull Introduction to Modern Programming in Fortran
bull Advanced Features of Modern Fortran
See
httpwwwfortranpluscouk
42 Cranfield University
Cranfield University offers four Fortran programming courses
bull Introduction to Programming in Fortran 95 and 2003 (3 days)
bull Advanced Programming in Fortran 95 and 2003 (3 days)
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
18 CHAPTER 2 COMPILERS
Absoft Pro Fortran is a complete tool suite designed to automate building par-allel code on Linux Windows or Mac OSIntel Absoft Rolls are also available forx64Linux Compilers are full F95 include all popular legacy extensions many fromF2003 and are fully link and debug compatible with the host (Linux Microsoft MacOS) tool chain Compilers offer automatic parallelization vectorization OpenMP 30GPU support and Absoft application performance is consistently rated 1 on AMDand Intel systems by third party benchmarks IDE includes SMP graphical analyzerFx3 graphical multi-language debugger programmers editor several Fortran specificfeatures OpenMP and MPI controls math libraries VAXUnix libraries and 2D3Dgraphics Same look feel and functionality on all systems Nothing else to buy orlearn IMSL numerical libraries are a bundle option on all platforms
23 Cray
httpwwwcraycom
Cray has a fully optimizing Fortran 2003 compiler available for the Cray XT seriessystems This compiler also supports OpenMP and several Fortran 2008 featuresincluding submodules and coarrays
Cray has a fully-optimizing Fortran 95 compiler available for the Cray PVP (J90SV1) T3E and X1 systems The PVP compiler supports automatic parallization andOpenMP The T3E compiler supports coarrays The X1 compiler supports automaticstreaming OpenMP coarrays and many Fortran 2003 featuresrdquo
24 Fortran Company
httpwwwfortrancom
The Fortran Company offers F the subset language for Unix and Windows somein highly optimizing versions All of the full professional versions of the F compilerare available free by downloading them from the F anonymous ftp directory
The Fortran Tools include a Fortran 95 compiler with a graphical user interfacethat runs on Linux or Windows on a CD The CD also includes several Fortran booksin PDF format and many tools such as Matran a matrix computation library thatuses the highly tuned Atlas libraries a plotting package and a library of routines tocreate GUIs for your Fortran application programs
25 Fujitsu
httpwwwfujitsucomglobal
26 GNU FORTRAN 95 19
Fortran 95 (Solaris) A powerful updated development system used for FORTRANproductive applications Current version Sun Studio 9
The ISO Fortran 95 Standard is fully supported additionally there are enhance-ments for Fortran77 such as pointersstructures binaryoctalhexadecimal constantsetc High optimization includes automatic parallelization and OpenMP support AFortran runtime system optimized for UltraSPARC is now also included in the pack-age The development environment consists of the following components
Workbench An integral development environment for the CC++ and Fortrancompilers for compiler control program execution debugging performance analysiscoverage etc with a Motif-based graphical user interface (GUI)
Visual Analyzer A development and migration tool for CC++ and Fortranprograms The enclosed Source Analyzer allows the static program structure and theglobal data relations to be visualized It contains a class browser cross referencesand a calling graph viewer
Parallel Analyser Consists of an integrated development environment for theOpenMP programming It contains a manager a debugger and a profiler
Fujitsu also has a Fortran 95 compiler for Linux and a highly optimized nativeFortran 95 compiler FortranVPP and HPF for its VPP supercomputers
26 Gnu Fortran 95
httpgccgnuorgwikiGFortran
httpgccgnuorgfortran
Gfortran is the name of the GNU Fortran project developing a free Fortran 952003compiler for GCC the GNU Compiler Collection The gfortran development effortuses an open development environment in order to attract a larger team of devel-opers and to ensure that gfortran can work on multiple architectures and diverseenvironments The GNU Fortran 95 project or gfortran is developing a Fortran 95compiler front end as well as runtime libraries for GCC the GNU Compiler Col-lection Gfortran development is a part of the GNU project aiming to bring freenumber crunching to all GNU system variants The gfortran development effort usesan open development environment in order to attract a larger team of developers andto ensure that gfortran can work on multiple architectures and diverse environmentsIn particular the project wishes to reach the users of the Fortran 95 language beit in the scientific community in education or in a commercial environment Todaytruly free Fortran 90 or Fortran 95 compilers do not exist We are trying to makeone available to the Fortran community
27 g95
httpwwwg95org
20 CHAPTER 2 COMPILERS
g95 is a stable production Fortran 95 compiler available for multiple cpu architec-tures and operating systems Innovations and optimizations continue to be workedon Parts of the F2003 standard have been implemented in g95
28 Hewlett Packard
The web address that describes all of the compilers and supported hardware andoperating systems is
httph21007www2hpcomdspptechtech_TechSoftwareDetailPage_IDX11703623500h
HPrsquos Fortran products are available for multiple platforms Windows Tru64 UNIXAlphaServer systems Linux AlphaServer systems and HP OpenVMS (Alpha VAX)
Visual Fortran for WindowsFortran for Linux AlphaFortran for Tru64 UNIX AlphaFortran for HP OpenVMS AlphaFortran for HP OpenVMS IntegrityFortran for HP OpenVMS VAXFortran for HP-UXThe Windows product Compaq Visual Fortran includes the Microsoft Developer
Studio IDE which can be shared with Microsoft Visual C++ Parallel execution usingOpenMP-directed decomposition or HPF is included on the Tru64 UNIX platformOn Windows NT SMP parallel execution using directed decomposition is availablethrough Visual Compaq Fortran for Linux Alpha Systems is available as a freedownload under a Technology Enthusiast license for non-commercial use All Com-paq Fortran 95 products include the Compaq Extended Math Library of optimizedscientific subroutines and the allocatable array extensions
29 IBM
httpwww-306ibmcomsoftwareawdtoolsfortran
httpwww-306ibmcomsoftwareawdtoolsfortranxlfortranfeaturesf2003html
XL Fortran Enterprise Edition for AIX XL Fortran Enterprise Edition for AIX pro-vides industry-leading code optimization and tuning features a full implementationof the OpenMP API Version 25 Symmetric Multiprocessing (SMP) APIs directmanipulation of the floating-point status and control register 64-bit enablementasynchronous IO debug memory routines and many other features
XL Fortran Advanced Edition for Blue Gene XL Fortran Advanced Edition forBlue Gene is the latest addition to our XL Fortran compiler family It expands our
210 INTEL 21
proven XL Fortarn compiler technology to exploit the capabilities of the PowerPC440 and 440d processors used in IBM Blue GeneL supercomputers
XL Fortran Advanced Edition for Linux XL Fortran Advanced Edition for Linuxsupports your choice of RHEL4 SLES9 and Y-HPC Linux distributions Advancedoptimization technology and VMX support help you create high-performance 32-bitand 64-bit applications that run efficiently on a variety of processor architecturesincluding IBMrsquos newest POWER5+ and PowerPC 970 processors and Apple PowerMac G5 and Xserve G5 systems
VS FORTRAN VS FORTRAN contains features geared to help Fortran program-mers develop applications more easily and efficiently while using the full power ofIBMrsquos large systems
The second web link has details of Fortran 2003 support
210 Intel
httpsoftwareintelcomen-usintel-compilers
Intel offers optimizing Fortran compilers for the IA-32 x64 and IA-64 (Intel Ita-nium) architectures running the Linux Mac OS X (IA-32 and x64) or Windows op-erating systems Intel Fortran is fully compliant with Fortran 95 and supports mostof Fortran 2003 as well as many popular extensions The compiler offers automaticparallelization and vectorization and supports OpenMP 30 as well as generatingoptimized code for the latest Intel processors and compatible non-Intel processors
On all platforms the Intel Fortran compiler includes the Intel Math Kernel Li-brary a library of highly optimized extensively threaded math routines for scienceengineering and financial applications The IMSL Fortran Numeric Library 60 fromVisual Numerics is an option on Windows
On Windows the compiler integrates into Microsoft Visual Studio 2003 2005 or2008 and includes a self-sufficient Fortran development environment based on Mi-crosoft Visual Studio 2008 The Windows compiler also provides mechanisms tointerface Fortran code with the Microsoft COM and NET environments Academicand student pricing is available
211 LaheyFujitsu
httpwwwlaheycom
LaheyFujitsu Fortran 95 is produced by the LaheyFujitsu alliance LF95 is avail-able in three Windows configurations Express Standard and PRO and two Linuxconfigurations Express and PRO All configurations feature VAX IBM and POSIXlanguage extensions allocatable array enhancements etc The Windows and LinuxExpress version is command line only and features the compiler linker and debug-ger PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-
22 CHAPTER 2 COMPILERS
TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creatingtrue Windows programs with Fortran and a Coverage Analysis Tool that detects un-executed code and performs range of operation checking The PRO is compatible withVisual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 Math Libraryand Visual Analyzer (see below) The PRO Linux version offers auto-parallelizationOpenMP compatibility thread-safe BLAS and LAPACK WiSK AUTOMAKE andFujitsus SSL2 All products come with free technical support and are available at Also available is a subset compiler elf90
It would appear that the Windows version is no longer under active developmentThe last update was dated December 2004
212 NAG
httpwwwnagcouknagwareasp
The NAG Fortran Compiler derived from the worldrsquos first Fortran 90 Compilerfrom NAG is robust highly tested and valued by developers all over the globe forits checking capabilities and detailed error reporting Available on a wide range ofUnix and Windows platforms it accepts fixed or free format Fortran 95 input andmany common Fortran 77 extensions are allowed A large number of Fortran 2003language features are now available HPF code is also compiled and checked thoughonly single processor output is generated The 53 release supports a good workingsubset of OpenMP 3
The following versions are availableApple Intel Mac64 Release 53 gcc 42HP PA-RISC 11 Release 51 HP ANSI CIBM Power AIX Release 51 AIX XL C 60IBM Z9 Linux Release 51 gcc 346IBM Z9 Open Edition Release 52 IBM CLinux x86-32 Release 53 gcc 322Linux64 Release 53 gcc 412Sun SPARC Solaris Release 52 gcc 342Sun SPARC Solaris Release 52 Sun C v 55x86 and x86-64 Windows Release 53An integrated Fortran IDE is also available for Windows
httpwwwnagcouknagwarenpfortranbuilderasp
213 NEC
httpwwwneccom
214 ORACLE - ORIGINALLY SUN 23
NEC has a native optimizing Fortran 95 compiler FORTRAN90SX with anautomatic vectorization and parallelization capability for its supercomputer SX se-ries HPFSX V2 provides functions conforming to the specification of HPF11 andHPF20 and can be used with vector processing functions in SX Fortran and withparallel processing functions using microtasking
214 Oracle - originally Sun
httpwwworaclecomussunindexhtm
httpwwwsuncom
httpdeveloperssuncomsunstudio
httpdeveloperssuncomsunstudiodownloadsexpress
Sun Studio software delivers high-performance optimizing C C++ and Fortrancompilers for the Solaris OS on SPARC and both Solaris and Linux on x86x64platforms including the latest multi-core systems
Whatrsquos in Sun StudioAll Compilers - Specify 32-bit or 64-bit Address Model Auto-parallelization of
single-threaded code Flags Static data-race and deadlock-detection for x86 Mathand Visual Instruction Set Support in SPARC64 VI Option for Floating-Point Fusedor Multiply-Add Instructions Option for Thread Analyzer support Linux SupportOpenMP and OpenMPI suport Support for the directives clauses and attributes
Fortran Compiler - Interval arithmetic support on Solaris Intel platform Fastercompilation time for source files UNSIGNED arguments Backward compatibilitywith f77
C Compiler - More options Auto-parallelization of single-threaded code GNU Ccompatibility
C++ Compiler - More options ABI compatibility Compiler flags to optimize formulticore architectures Static linking the standard C++ runtime library
215 PathScale
httpwwwpathscalecomproductspathscale_compiler_suite
PathScalersquos goal is to make it easier to develop and deploy 64-bit applications intoclustered environments PathScale has developed the industryrsquos highest-performanceC C++ and Fortran 9X compilers for 64-bit Linux-based computer systems ThePathScale Compiler Suite shares its heritage with the well-known and mature SGIcompiler suite The PathScale Compiler Suite has been optimized for both the
24 CHAPTER 2 COMPILERS
AMD64 and EM64T architectures and has the worldrsquos most sophisticated optimiza-tion infrastructure
Unlike other compilers the PathScale Compiler Suite provides superior perfor-mance across both floating-point and integer-intensive applications Application de-velopers targeting 64-bit Linux servers will see immediate performance benefits fromcompiling with the PathScale compilers
The PathScale Compiler Suite includesC C++ and Fortran 779095 compilers Industry leading optimizations Com-
plete support for OpenMP 20 (including WORKSHARE) Complete support for 64-bit and 32-bit x86 compilation Code generation for AMD64 ABI AMD Opteronand Intel EM64T PathScale optimized AMD Core Math Library (available for down-load) Advanced serial debugger PathDB Compatible with GNUgcc tool chain andpopular Third Party debuggers Supported on SUSE RedHat and Fedora Linux Thecurrently shipping version of the PathScale Compiler Suite is
216 PGI
httpwwwpgroupcom
High-performance Optimizing Parallel Compilers For multi-core 64-bit x64 and 32-bit x86 processor-based Linux Mac OS X and Windows workstations servers andclusters PGI Workstation includes a single seat license for PGIrsquos suite of compilersand tools Also available with a multi-user network floating license (PGI Server)The PGI CDK Cluster Development Kit includes all the software for building andprogramming a turn-key Linux cluster PGI Visual Fortran fully integrates PGIparallel Fortran into Microsoft Windows using Microsoft Visual Studio 2005
217 Silverfrost nee Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
Salford Software markets FTN95 a Fortran 95 compiler for Win32 running onWindows 95NT2000XP PCs It has announced its Fortran 95 compiler for Mi-crosoft NET (FTN95 for NET) This compiler will produce fast executables fromsource files that may be any combination of Fortran 77 Fortran 90 and Fortran 95FTN95 for NET including integrated Help and Debugger is supplied bundled withFTN95 for Win32 and optionally with Microsoft Visual Studio for NET A low-costfully-featured personal edition is also available
218 SGI
httpwwwsgicomproductssoftwareirixtoolsfortranhtml
219 SUN - SEE ORACLE 25
MIPSpro Fortran Compilers This 64-bit ANSI Fortran 77 compiler is ideal forsystems running IRIX 6x It is compatible with VAXVMS Fortran and supportsCray extensions The 74 version of the MIPSpro Fortran 77 and Fortran 90 compilersnow support the OpenMP 20 standard Among the new features introduced in theOpenMP 20 specification are
WORKSHARE directive COPYPRIVATE clause for the broadcast of sequentialreads Portable timing routines MIPSpro Fortran 90 Compiler A 64 bit ANSI Fortran90 compiler with additional support for user-defined multiprocessing directives forsystems running IRIX 6x Compatible with VAXVMS Fortran and supports Crayextensions With the release of version 74 Fortran 90 specific support under theOpenMP 20 standard are
Parallelization of F90 array syntax via the WORKSHARE directive Privatizationof deferred shape and assumed shape objects The full Fortran 20 specification canobtained from the OpenMP Web site at httpwwwopenmporg
For more information read about the MIPSpro compilers
219 Sun - see Oracle
220 No longer available
2201 Apogee
httpwwwapogeecom
Features of the FORTRAN 7790 CompilerNo longer available Originally available for the SolarisSPARC platforms the
compiler conforms to Sunrsquos Solaris ABI and produces assembler code files acceptableto Sunrsquos Solaris assembler When used in the FORTRAN 77 compilation modethe compiler is compliant with the MIL-STD 1753 FORTRAN 77 and accepts mostFORTRAN 77 extensions of Sun IBM and other F77 compilers The supportedF77 extensions include structures length qualification on types additional data andconstant types initializations in type statements additional statements (END DODO WHILE POINTER VOLATILE etc) computations with aggregates namelist-directed IOs and debugging statements
When used in the Fortran 90 mode the compiler is compliant with the ANSIISOFortran 90 standard
2202 Compaq
This compiler is no longer under development This ceased when Intel bought outthe technology from HP Still widely used with legacy software Copies for sale canbe found on Ebay and similar vites
26 CHAPTER 2 COMPILERS
2203 EPC
Edinburgh Portable Compilers was an early vendor to produce a Fortran 90 compila-tion system A report by Adam Marshall from Liverpool University has a comparisionof several early Fortran 90 compilers It can be found at the address below
httpwwwlivacukHPCFortranCompilerStudyHTMLFortranCompilerStudyHTMLhtml
2204 NA Software
httpwwwnasoftwarecoukhomehtml
No longer available
Chapter 3
Fortran aware editors and IDEs
bull Version 15 October 2011 Updated photran entry
bull Version 14 July 2010 Added SunStudio Express entry
bull Version 131 April 2006 Added Windows Zeus entry
31 Windows
311 Absoft Editor (ae)
httpwwwabsoftcom
312 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
313 compaq visual fortran 6x
Nolongeravailable
314 editeur
wwwstudiowarecom
315 emacsxemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
316 emacsxemacs - cygwin components
httpwwwcygwincom
28 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
317 gvimvim - stand alone
httpwwwvimorg
318 gvimvim - cygwin component
httpwwwcygwincom
319 jed wjed (Windows)
httpwwwjedsoftorgjed
3110 lahey ed
httpwwwlaheycom
3111 microsoft visual studio 6
No longer available
3112 Microsoft Visual StudioNET
There are a number of vendors that have provided integration with Microsoft VisualStudio NET These include
Intel Visual Fortranwwwintelcom
LaheyFujitsu Fortranwwwlaheycom
Silverfrost Salford FTN95httpwwwsilverfrostcom11ftn95overviewasp
3113 nedit - cygwin
httpwwwneditorg
3114 ntemacs
httpwwwgnuorgsoftwareemacswindowsntemacshtml
3115 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
32 LINUXUNIX 29
3116 salford plato
httpwwwsilverfrostcom11ftn95overviewasp
3117 Oracle Solaris Studio Express
httpdeveloperssuncomsunstudiodownloadsexpress
3118 UltraEdit
wwwultraeditcom
3119 xemacsemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
3120 xemacsemacs - cygwin components
httpwwwcygwincom
3121 Zeus ide
httpwwwzeuseditcomfortranhtml
32 LinuxUnix
321 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
322 emacsxemacs
httpwwwgnuorgsoftwareemacsemacshtml
323 jed xjed (Unix(all flavours)OpenVMS) wjed (Win-dows)
httpwwwjedsoftorgjed
324 nedit
httpwwwneditorg
30 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
325 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
33 Apple OS X
331 Absoft Editor
httpwwwabsoftcom
332 BBEdit
httpwwwapplecomdownloadsmacosxproductivity_toolsbbedithtml
httpwwwbarebonescomproductsbbeditindexshtml
333 emacsxemacs
pre-installed
334 Photran
wwwphotranorg
335 Smultron
httpsmultronsourceforgenet
336 TextMate
httpmacromatescom
337 TextWrangler
httpwwwapplecomdownloadsmacosxproductivity_toolstextwranglerhtml
httpwwwbarebonescomproductstextwranglerindexshtml
338 Vim
Pre-installed
33 APPLE OS X 31
339 Xcode
httpdeveloperapplecom
3310 xemacsemacs
pre-installed
32 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
Chapter 4
Commercial Courses
bull Version 14 August 2012 Updated several entries
bull Version 13 November 2011 Notified by Shaun Forth at Cranfield of theirchanges Also added the HECToR entries
bull Version 12 August 2010
bull Version 11 September 2008
bull Version 10 January 2006
41 Ian Chivers and Jane Sleightholme
Ian Chivers and Jane Sleightholme are available to do tailored on site courses Coursesinclude
bull Introduction to Modern Programming in Fortran
bull Advanced Features of Modern Fortran
See
httpwwwfortranpluscouk
42 Cranfield University
Cranfield University offers four Fortran programming courses
bull Introduction to Programming in Fortran 95 and 2003 (3 days)
bull Advanced Programming in Fortran 95 and 2003 (3 days)
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
26 GNU FORTRAN 95 19
Fortran 95 (Solaris) A powerful updated development system used for FORTRANproductive applications Current version Sun Studio 9
The ISO Fortran 95 Standard is fully supported additionally there are enhance-ments for Fortran77 such as pointersstructures binaryoctalhexadecimal constantsetc High optimization includes automatic parallelization and OpenMP support AFortran runtime system optimized for UltraSPARC is now also included in the pack-age The development environment consists of the following components
Workbench An integral development environment for the CC++ and Fortrancompilers for compiler control program execution debugging performance analysiscoverage etc with a Motif-based graphical user interface (GUI)
Visual Analyzer A development and migration tool for CC++ and Fortranprograms The enclosed Source Analyzer allows the static program structure and theglobal data relations to be visualized It contains a class browser cross referencesand a calling graph viewer
Parallel Analyser Consists of an integrated development environment for theOpenMP programming It contains a manager a debugger and a profiler
Fujitsu also has a Fortran 95 compiler for Linux and a highly optimized nativeFortran 95 compiler FortranVPP and HPF for its VPP supercomputers
26 Gnu Fortran 95
httpgccgnuorgwikiGFortran
httpgccgnuorgfortran
Gfortran is the name of the GNU Fortran project developing a free Fortran 952003compiler for GCC the GNU Compiler Collection The gfortran development effortuses an open development environment in order to attract a larger team of devel-opers and to ensure that gfortran can work on multiple architectures and diverseenvironments The GNU Fortran 95 project or gfortran is developing a Fortran 95compiler front end as well as runtime libraries for GCC the GNU Compiler Col-lection Gfortran development is a part of the GNU project aiming to bring freenumber crunching to all GNU system variants The gfortran development effort usesan open development environment in order to attract a larger team of developers andto ensure that gfortran can work on multiple architectures and diverse environmentsIn particular the project wishes to reach the users of the Fortran 95 language beit in the scientific community in education or in a commercial environment Todaytruly free Fortran 90 or Fortran 95 compilers do not exist We are trying to makeone available to the Fortran community
27 g95
httpwwwg95org
20 CHAPTER 2 COMPILERS
g95 is a stable production Fortran 95 compiler available for multiple cpu architec-tures and operating systems Innovations and optimizations continue to be workedon Parts of the F2003 standard have been implemented in g95
28 Hewlett Packard
The web address that describes all of the compilers and supported hardware andoperating systems is
httph21007www2hpcomdspptechtech_TechSoftwareDetailPage_IDX11703623500h
HPrsquos Fortran products are available for multiple platforms Windows Tru64 UNIXAlphaServer systems Linux AlphaServer systems and HP OpenVMS (Alpha VAX)
Visual Fortran for WindowsFortran for Linux AlphaFortran for Tru64 UNIX AlphaFortran for HP OpenVMS AlphaFortran for HP OpenVMS IntegrityFortran for HP OpenVMS VAXFortran for HP-UXThe Windows product Compaq Visual Fortran includes the Microsoft Developer
Studio IDE which can be shared with Microsoft Visual C++ Parallel execution usingOpenMP-directed decomposition or HPF is included on the Tru64 UNIX platformOn Windows NT SMP parallel execution using directed decomposition is availablethrough Visual Compaq Fortran for Linux Alpha Systems is available as a freedownload under a Technology Enthusiast license for non-commercial use All Com-paq Fortran 95 products include the Compaq Extended Math Library of optimizedscientific subroutines and the allocatable array extensions
29 IBM
httpwww-306ibmcomsoftwareawdtoolsfortran
httpwww-306ibmcomsoftwareawdtoolsfortranxlfortranfeaturesf2003html
XL Fortran Enterprise Edition for AIX XL Fortran Enterprise Edition for AIX pro-vides industry-leading code optimization and tuning features a full implementationof the OpenMP API Version 25 Symmetric Multiprocessing (SMP) APIs directmanipulation of the floating-point status and control register 64-bit enablementasynchronous IO debug memory routines and many other features
XL Fortran Advanced Edition for Blue Gene XL Fortran Advanced Edition forBlue Gene is the latest addition to our XL Fortran compiler family It expands our
210 INTEL 21
proven XL Fortarn compiler technology to exploit the capabilities of the PowerPC440 and 440d processors used in IBM Blue GeneL supercomputers
XL Fortran Advanced Edition for Linux XL Fortran Advanced Edition for Linuxsupports your choice of RHEL4 SLES9 and Y-HPC Linux distributions Advancedoptimization technology and VMX support help you create high-performance 32-bitand 64-bit applications that run efficiently on a variety of processor architecturesincluding IBMrsquos newest POWER5+ and PowerPC 970 processors and Apple PowerMac G5 and Xserve G5 systems
VS FORTRAN VS FORTRAN contains features geared to help Fortran program-mers develop applications more easily and efficiently while using the full power ofIBMrsquos large systems
The second web link has details of Fortran 2003 support
210 Intel
httpsoftwareintelcomen-usintel-compilers
Intel offers optimizing Fortran compilers for the IA-32 x64 and IA-64 (Intel Ita-nium) architectures running the Linux Mac OS X (IA-32 and x64) or Windows op-erating systems Intel Fortran is fully compliant with Fortran 95 and supports mostof Fortran 2003 as well as many popular extensions The compiler offers automaticparallelization and vectorization and supports OpenMP 30 as well as generatingoptimized code for the latest Intel processors and compatible non-Intel processors
On all platforms the Intel Fortran compiler includes the Intel Math Kernel Li-brary a library of highly optimized extensively threaded math routines for scienceengineering and financial applications The IMSL Fortran Numeric Library 60 fromVisual Numerics is an option on Windows
On Windows the compiler integrates into Microsoft Visual Studio 2003 2005 or2008 and includes a self-sufficient Fortran development environment based on Mi-crosoft Visual Studio 2008 The Windows compiler also provides mechanisms tointerface Fortran code with the Microsoft COM and NET environments Academicand student pricing is available
211 LaheyFujitsu
httpwwwlaheycom
LaheyFujitsu Fortran 95 is produced by the LaheyFujitsu alliance LF95 is avail-able in three Windows configurations Express Standard and PRO and two Linuxconfigurations Express and PRO All configurations feature VAX IBM and POSIXlanguage extensions allocatable array enhancements etc The Windows and LinuxExpress version is command line only and features the compiler linker and debug-ger PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-
22 CHAPTER 2 COMPILERS
TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creatingtrue Windows programs with Fortran and a Coverage Analysis Tool that detects un-executed code and performs range of operation checking The PRO is compatible withVisual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 Math Libraryand Visual Analyzer (see below) The PRO Linux version offers auto-parallelizationOpenMP compatibility thread-safe BLAS and LAPACK WiSK AUTOMAKE andFujitsus SSL2 All products come with free technical support and are available at Also available is a subset compiler elf90
It would appear that the Windows version is no longer under active developmentThe last update was dated December 2004
212 NAG
httpwwwnagcouknagwareasp
The NAG Fortran Compiler derived from the worldrsquos first Fortran 90 Compilerfrom NAG is robust highly tested and valued by developers all over the globe forits checking capabilities and detailed error reporting Available on a wide range ofUnix and Windows platforms it accepts fixed or free format Fortran 95 input andmany common Fortran 77 extensions are allowed A large number of Fortran 2003language features are now available HPF code is also compiled and checked thoughonly single processor output is generated The 53 release supports a good workingsubset of OpenMP 3
The following versions are availableApple Intel Mac64 Release 53 gcc 42HP PA-RISC 11 Release 51 HP ANSI CIBM Power AIX Release 51 AIX XL C 60IBM Z9 Linux Release 51 gcc 346IBM Z9 Open Edition Release 52 IBM CLinux x86-32 Release 53 gcc 322Linux64 Release 53 gcc 412Sun SPARC Solaris Release 52 gcc 342Sun SPARC Solaris Release 52 Sun C v 55x86 and x86-64 Windows Release 53An integrated Fortran IDE is also available for Windows
httpwwwnagcouknagwarenpfortranbuilderasp
213 NEC
httpwwwneccom
214 ORACLE - ORIGINALLY SUN 23
NEC has a native optimizing Fortran 95 compiler FORTRAN90SX with anautomatic vectorization and parallelization capability for its supercomputer SX se-ries HPFSX V2 provides functions conforming to the specification of HPF11 andHPF20 and can be used with vector processing functions in SX Fortran and withparallel processing functions using microtasking
214 Oracle - originally Sun
httpwwworaclecomussunindexhtm
httpwwwsuncom
httpdeveloperssuncomsunstudio
httpdeveloperssuncomsunstudiodownloadsexpress
Sun Studio software delivers high-performance optimizing C C++ and Fortrancompilers for the Solaris OS on SPARC and both Solaris and Linux on x86x64platforms including the latest multi-core systems
Whatrsquos in Sun StudioAll Compilers - Specify 32-bit or 64-bit Address Model Auto-parallelization of
single-threaded code Flags Static data-race and deadlock-detection for x86 Mathand Visual Instruction Set Support in SPARC64 VI Option for Floating-Point Fusedor Multiply-Add Instructions Option for Thread Analyzer support Linux SupportOpenMP and OpenMPI suport Support for the directives clauses and attributes
Fortran Compiler - Interval arithmetic support on Solaris Intel platform Fastercompilation time for source files UNSIGNED arguments Backward compatibilitywith f77
C Compiler - More options Auto-parallelization of single-threaded code GNU Ccompatibility
C++ Compiler - More options ABI compatibility Compiler flags to optimize formulticore architectures Static linking the standard C++ runtime library
215 PathScale
httpwwwpathscalecomproductspathscale_compiler_suite
PathScalersquos goal is to make it easier to develop and deploy 64-bit applications intoclustered environments PathScale has developed the industryrsquos highest-performanceC C++ and Fortran 9X compilers for 64-bit Linux-based computer systems ThePathScale Compiler Suite shares its heritage with the well-known and mature SGIcompiler suite The PathScale Compiler Suite has been optimized for both the
24 CHAPTER 2 COMPILERS
AMD64 and EM64T architectures and has the worldrsquos most sophisticated optimiza-tion infrastructure
Unlike other compilers the PathScale Compiler Suite provides superior perfor-mance across both floating-point and integer-intensive applications Application de-velopers targeting 64-bit Linux servers will see immediate performance benefits fromcompiling with the PathScale compilers
The PathScale Compiler Suite includesC C++ and Fortran 779095 compilers Industry leading optimizations Com-
plete support for OpenMP 20 (including WORKSHARE) Complete support for 64-bit and 32-bit x86 compilation Code generation for AMD64 ABI AMD Opteronand Intel EM64T PathScale optimized AMD Core Math Library (available for down-load) Advanced serial debugger PathDB Compatible with GNUgcc tool chain andpopular Third Party debuggers Supported on SUSE RedHat and Fedora Linux Thecurrently shipping version of the PathScale Compiler Suite is
216 PGI
httpwwwpgroupcom
High-performance Optimizing Parallel Compilers For multi-core 64-bit x64 and 32-bit x86 processor-based Linux Mac OS X and Windows workstations servers andclusters PGI Workstation includes a single seat license for PGIrsquos suite of compilersand tools Also available with a multi-user network floating license (PGI Server)The PGI CDK Cluster Development Kit includes all the software for building andprogramming a turn-key Linux cluster PGI Visual Fortran fully integrates PGIparallel Fortran into Microsoft Windows using Microsoft Visual Studio 2005
217 Silverfrost nee Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
Salford Software markets FTN95 a Fortran 95 compiler for Win32 running onWindows 95NT2000XP PCs It has announced its Fortran 95 compiler for Mi-crosoft NET (FTN95 for NET) This compiler will produce fast executables fromsource files that may be any combination of Fortran 77 Fortran 90 and Fortran 95FTN95 for NET including integrated Help and Debugger is supplied bundled withFTN95 for Win32 and optionally with Microsoft Visual Studio for NET A low-costfully-featured personal edition is also available
218 SGI
httpwwwsgicomproductssoftwareirixtoolsfortranhtml
219 SUN - SEE ORACLE 25
MIPSpro Fortran Compilers This 64-bit ANSI Fortran 77 compiler is ideal forsystems running IRIX 6x It is compatible with VAXVMS Fortran and supportsCray extensions The 74 version of the MIPSpro Fortran 77 and Fortran 90 compilersnow support the OpenMP 20 standard Among the new features introduced in theOpenMP 20 specification are
WORKSHARE directive COPYPRIVATE clause for the broadcast of sequentialreads Portable timing routines MIPSpro Fortran 90 Compiler A 64 bit ANSI Fortran90 compiler with additional support for user-defined multiprocessing directives forsystems running IRIX 6x Compatible with VAXVMS Fortran and supports Crayextensions With the release of version 74 Fortran 90 specific support under theOpenMP 20 standard are
Parallelization of F90 array syntax via the WORKSHARE directive Privatizationof deferred shape and assumed shape objects The full Fortran 20 specification canobtained from the OpenMP Web site at httpwwwopenmporg
For more information read about the MIPSpro compilers
219 Sun - see Oracle
220 No longer available
2201 Apogee
httpwwwapogeecom
Features of the FORTRAN 7790 CompilerNo longer available Originally available for the SolarisSPARC platforms the
compiler conforms to Sunrsquos Solaris ABI and produces assembler code files acceptableto Sunrsquos Solaris assembler When used in the FORTRAN 77 compilation modethe compiler is compliant with the MIL-STD 1753 FORTRAN 77 and accepts mostFORTRAN 77 extensions of Sun IBM and other F77 compilers The supportedF77 extensions include structures length qualification on types additional data andconstant types initializations in type statements additional statements (END DODO WHILE POINTER VOLATILE etc) computations with aggregates namelist-directed IOs and debugging statements
When used in the Fortran 90 mode the compiler is compliant with the ANSIISOFortran 90 standard
2202 Compaq
This compiler is no longer under development This ceased when Intel bought outthe technology from HP Still widely used with legacy software Copies for sale canbe found on Ebay and similar vites
26 CHAPTER 2 COMPILERS
2203 EPC
Edinburgh Portable Compilers was an early vendor to produce a Fortran 90 compila-tion system A report by Adam Marshall from Liverpool University has a comparisionof several early Fortran 90 compilers It can be found at the address below
httpwwwlivacukHPCFortranCompilerStudyHTMLFortranCompilerStudyHTMLhtml
2204 NA Software
httpwwwnasoftwarecoukhomehtml
No longer available
Chapter 3
Fortran aware editors and IDEs
bull Version 15 October 2011 Updated photran entry
bull Version 14 July 2010 Added SunStudio Express entry
bull Version 131 April 2006 Added Windows Zeus entry
31 Windows
311 Absoft Editor (ae)
httpwwwabsoftcom
312 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
313 compaq visual fortran 6x
Nolongeravailable
314 editeur
wwwstudiowarecom
315 emacsxemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
316 emacsxemacs - cygwin components
httpwwwcygwincom
28 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
317 gvimvim - stand alone
httpwwwvimorg
318 gvimvim - cygwin component
httpwwwcygwincom
319 jed wjed (Windows)
httpwwwjedsoftorgjed
3110 lahey ed
httpwwwlaheycom
3111 microsoft visual studio 6
No longer available
3112 Microsoft Visual StudioNET
There are a number of vendors that have provided integration with Microsoft VisualStudio NET These include
Intel Visual Fortranwwwintelcom
LaheyFujitsu Fortranwwwlaheycom
Silverfrost Salford FTN95httpwwwsilverfrostcom11ftn95overviewasp
3113 nedit - cygwin
httpwwwneditorg
3114 ntemacs
httpwwwgnuorgsoftwareemacswindowsntemacshtml
3115 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
32 LINUXUNIX 29
3116 salford plato
httpwwwsilverfrostcom11ftn95overviewasp
3117 Oracle Solaris Studio Express
httpdeveloperssuncomsunstudiodownloadsexpress
3118 UltraEdit
wwwultraeditcom
3119 xemacsemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
3120 xemacsemacs - cygwin components
httpwwwcygwincom
3121 Zeus ide
httpwwwzeuseditcomfortranhtml
32 LinuxUnix
321 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
322 emacsxemacs
httpwwwgnuorgsoftwareemacsemacshtml
323 jed xjed (Unix(all flavours)OpenVMS) wjed (Win-dows)
httpwwwjedsoftorgjed
324 nedit
httpwwwneditorg
30 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
325 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
33 Apple OS X
331 Absoft Editor
httpwwwabsoftcom
332 BBEdit
httpwwwapplecomdownloadsmacosxproductivity_toolsbbedithtml
httpwwwbarebonescomproductsbbeditindexshtml
333 emacsxemacs
pre-installed
334 Photran
wwwphotranorg
335 Smultron
httpsmultronsourceforgenet
336 TextMate
httpmacromatescom
337 TextWrangler
httpwwwapplecomdownloadsmacosxproductivity_toolstextwranglerhtml
httpwwwbarebonescomproductstextwranglerindexshtml
338 Vim
Pre-installed
33 APPLE OS X 31
339 Xcode
httpdeveloperapplecom
3310 xemacsemacs
pre-installed
32 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
Chapter 4
Commercial Courses
bull Version 14 August 2012 Updated several entries
bull Version 13 November 2011 Notified by Shaun Forth at Cranfield of theirchanges Also added the HECToR entries
bull Version 12 August 2010
bull Version 11 September 2008
bull Version 10 January 2006
41 Ian Chivers and Jane Sleightholme
Ian Chivers and Jane Sleightholme are available to do tailored on site courses Coursesinclude
bull Introduction to Modern Programming in Fortran
bull Advanced Features of Modern Fortran
See
httpwwwfortranpluscouk
42 Cranfield University
Cranfield University offers four Fortran programming courses
bull Introduction to Programming in Fortran 95 and 2003 (3 days)
bull Advanced Programming in Fortran 95 and 2003 (3 days)
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
20 CHAPTER 2 COMPILERS
g95 is a stable production Fortran 95 compiler available for multiple cpu architec-tures and operating systems Innovations and optimizations continue to be workedon Parts of the F2003 standard have been implemented in g95
28 Hewlett Packard
The web address that describes all of the compilers and supported hardware andoperating systems is
httph21007www2hpcomdspptechtech_TechSoftwareDetailPage_IDX11703623500h
HPrsquos Fortran products are available for multiple platforms Windows Tru64 UNIXAlphaServer systems Linux AlphaServer systems and HP OpenVMS (Alpha VAX)
Visual Fortran for WindowsFortran for Linux AlphaFortran for Tru64 UNIX AlphaFortran for HP OpenVMS AlphaFortran for HP OpenVMS IntegrityFortran for HP OpenVMS VAXFortran for HP-UXThe Windows product Compaq Visual Fortran includes the Microsoft Developer
Studio IDE which can be shared with Microsoft Visual C++ Parallel execution usingOpenMP-directed decomposition or HPF is included on the Tru64 UNIX platformOn Windows NT SMP parallel execution using directed decomposition is availablethrough Visual Compaq Fortran for Linux Alpha Systems is available as a freedownload under a Technology Enthusiast license for non-commercial use All Com-paq Fortran 95 products include the Compaq Extended Math Library of optimizedscientific subroutines and the allocatable array extensions
29 IBM
httpwww-306ibmcomsoftwareawdtoolsfortran
httpwww-306ibmcomsoftwareawdtoolsfortranxlfortranfeaturesf2003html
XL Fortran Enterprise Edition for AIX XL Fortran Enterprise Edition for AIX pro-vides industry-leading code optimization and tuning features a full implementationof the OpenMP API Version 25 Symmetric Multiprocessing (SMP) APIs directmanipulation of the floating-point status and control register 64-bit enablementasynchronous IO debug memory routines and many other features
XL Fortran Advanced Edition for Blue Gene XL Fortran Advanced Edition forBlue Gene is the latest addition to our XL Fortran compiler family It expands our
210 INTEL 21
proven XL Fortarn compiler technology to exploit the capabilities of the PowerPC440 and 440d processors used in IBM Blue GeneL supercomputers
XL Fortran Advanced Edition for Linux XL Fortran Advanced Edition for Linuxsupports your choice of RHEL4 SLES9 and Y-HPC Linux distributions Advancedoptimization technology and VMX support help you create high-performance 32-bitand 64-bit applications that run efficiently on a variety of processor architecturesincluding IBMrsquos newest POWER5+ and PowerPC 970 processors and Apple PowerMac G5 and Xserve G5 systems
VS FORTRAN VS FORTRAN contains features geared to help Fortran program-mers develop applications more easily and efficiently while using the full power ofIBMrsquos large systems
The second web link has details of Fortran 2003 support
210 Intel
httpsoftwareintelcomen-usintel-compilers
Intel offers optimizing Fortran compilers for the IA-32 x64 and IA-64 (Intel Ita-nium) architectures running the Linux Mac OS X (IA-32 and x64) or Windows op-erating systems Intel Fortran is fully compliant with Fortran 95 and supports mostof Fortran 2003 as well as many popular extensions The compiler offers automaticparallelization and vectorization and supports OpenMP 30 as well as generatingoptimized code for the latest Intel processors and compatible non-Intel processors
On all platforms the Intel Fortran compiler includes the Intel Math Kernel Li-brary a library of highly optimized extensively threaded math routines for scienceengineering and financial applications The IMSL Fortran Numeric Library 60 fromVisual Numerics is an option on Windows
On Windows the compiler integrates into Microsoft Visual Studio 2003 2005 or2008 and includes a self-sufficient Fortran development environment based on Mi-crosoft Visual Studio 2008 The Windows compiler also provides mechanisms tointerface Fortran code with the Microsoft COM and NET environments Academicand student pricing is available
211 LaheyFujitsu
httpwwwlaheycom
LaheyFujitsu Fortran 95 is produced by the LaheyFujitsu alliance LF95 is avail-able in three Windows configurations Express Standard and PRO and two Linuxconfigurations Express and PRO All configurations feature VAX IBM and POSIXlanguage extensions allocatable array enhancements etc The Windows and LinuxExpress version is command line only and features the compiler linker and debug-ger PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-
22 CHAPTER 2 COMPILERS
TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creatingtrue Windows programs with Fortran and a Coverage Analysis Tool that detects un-executed code and performs range of operation checking The PRO is compatible withVisual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 Math Libraryand Visual Analyzer (see below) The PRO Linux version offers auto-parallelizationOpenMP compatibility thread-safe BLAS and LAPACK WiSK AUTOMAKE andFujitsus SSL2 All products come with free technical support and are available at Also available is a subset compiler elf90
It would appear that the Windows version is no longer under active developmentThe last update was dated December 2004
212 NAG
httpwwwnagcouknagwareasp
The NAG Fortran Compiler derived from the worldrsquos first Fortran 90 Compilerfrom NAG is robust highly tested and valued by developers all over the globe forits checking capabilities and detailed error reporting Available on a wide range ofUnix and Windows platforms it accepts fixed or free format Fortran 95 input andmany common Fortran 77 extensions are allowed A large number of Fortran 2003language features are now available HPF code is also compiled and checked thoughonly single processor output is generated The 53 release supports a good workingsubset of OpenMP 3
The following versions are availableApple Intel Mac64 Release 53 gcc 42HP PA-RISC 11 Release 51 HP ANSI CIBM Power AIX Release 51 AIX XL C 60IBM Z9 Linux Release 51 gcc 346IBM Z9 Open Edition Release 52 IBM CLinux x86-32 Release 53 gcc 322Linux64 Release 53 gcc 412Sun SPARC Solaris Release 52 gcc 342Sun SPARC Solaris Release 52 Sun C v 55x86 and x86-64 Windows Release 53An integrated Fortran IDE is also available for Windows
httpwwwnagcouknagwarenpfortranbuilderasp
213 NEC
httpwwwneccom
214 ORACLE - ORIGINALLY SUN 23
NEC has a native optimizing Fortran 95 compiler FORTRAN90SX with anautomatic vectorization and parallelization capability for its supercomputer SX se-ries HPFSX V2 provides functions conforming to the specification of HPF11 andHPF20 and can be used with vector processing functions in SX Fortran and withparallel processing functions using microtasking
214 Oracle - originally Sun
httpwwworaclecomussunindexhtm
httpwwwsuncom
httpdeveloperssuncomsunstudio
httpdeveloperssuncomsunstudiodownloadsexpress
Sun Studio software delivers high-performance optimizing C C++ and Fortrancompilers for the Solaris OS on SPARC and both Solaris and Linux on x86x64platforms including the latest multi-core systems
Whatrsquos in Sun StudioAll Compilers - Specify 32-bit or 64-bit Address Model Auto-parallelization of
single-threaded code Flags Static data-race and deadlock-detection for x86 Mathand Visual Instruction Set Support in SPARC64 VI Option for Floating-Point Fusedor Multiply-Add Instructions Option for Thread Analyzer support Linux SupportOpenMP and OpenMPI suport Support for the directives clauses and attributes
Fortran Compiler - Interval arithmetic support on Solaris Intel platform Fastercompilation time for source files UNSIGNED arguments Backward compatibilitywith f77
C Compiler - More options Auto-parallelization of single-threaded code GNU Ccompatibility
C++ Compiler - More options ABI compatibility Compiler flags to optimize formulticore architectures Static linking the standard C++ runtime library
215 PathScale
httpwwwpathscalecomproductspathscale_compiler_suite
PathScalersquos goal is to make it easier to develop and deploy 64-bit applications intoclustered environments PathScale has developed the industryrsquos highest-performanceC C++ and Fortran 9X compilers for 64-bit Linux-based computer systems ThePathScale Compiler Suite shares its heritage with the well-known and mature SGIcompiler suite The PathScale Compiler Suite has been optimized for both the
24 CHAPTER 2 COMPILERS
AMD64 and EM64T architectures and has the worldrsquos most sophisticated optimiza-tion infrastructure
Unlike other compilers the PathScale Compiler Suite provides superior perfor-mance across both floating-point and integer-intensive applications Application de-velopers targeting 64-bit Linux servers will see immediate performance benefits fromcompiling with the PathScale compilers
The PathScale Compiler Suite includesC C++ and Fortran 779095 compilers Industry leading optimizations Com-
plete support for OpenMP 20 (including WORKSHARE) Complete support for 64-bit and 32-bit x86 compilation Code generation for AMD64 ABI AMD Opteronand Intel EM64T PathScale optimized AMD Core Math Library (available for down-load) Advanced serial debugger PathDB Compatible with GNUgcc tool chain andpopular Third Party debuggers Supported on SUSE RedHat and Fedora Linux Thecurrently shipping version of the PathScale Compiler Suite is
216 PGI
httpwwwpgroupcom
High-performance Optimizing Parallel Compilers For multi-core 64-bit x64 and 32-bit x86 processor-based Linux Mac OS X and Windows workstations servers andclusters PGI Workstation includes a single seat license for PGIrsquos suite of compilersand tools Also available with a multi-user network floating license (PGI Server)The PGI CDK Cluster Development Kit includes all the software for building andprogramming a turn-key Linux cluster PGI Visual Fortran fully integrates PGIparallel Fortran into Microsoft Windows using Microsoft Visual Studio 2005
217 Silverfrost nee Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
Salford Software markets FTN95 a Fortran 95 compiler for Win32 running onWindows 95NT2000XP PCs It has announced its Fortran 95 compiler for Mi-crosoft NET (FTN95 for NET) This compiler will produce fast executables fromsource files that may be any combination of Fortran 77 Fortran 90 and Fortran 95FTN95 for NET including integrated Help and Debugger is supplied bundled withFTN95 for Win32 and optionally with Microsoft Visual Studio for NET A low-costfully-featured personal edition is also available
218 SGI
httpwwwsgicomproductssoftwareirixtoolsfortranhtml
219 SUN - SEE ORACLE 25
MIPSpro Fortran Compilers This 64-bit ANSI Fortran 77 compiler is ideal forsystems running IRIX 6x It is compatible with VAXVMS Fortran and supportsCray extensions The 74 version of the MIPSpro Fortran 77 and Fortran 90 compilersnow support the OpenMP 20 standard Among the new features introduced in theOpenMP 20 specification are
WORKSHARE directive COPYPRIVATE clause for the broadcast of sequentialreads Portable timing routines MIPSpro Fortran 90 Compiler A 64 bit ANSI Fortran90 compiler with additional support for user-defined multiprocessing directives forsystems running IRIX 6x Compatible with VAXVMS Fortran and supports Crayextensions With the release of version 74 Fortran 90 specific support under theOpenMP 20 standard are
Parallelization of F90 array syntax via the WORKSHARE directive Privatizationof deferred shape and assumed shape objects The full Fortran 20 specification canobtained from the OpenMP Web site at httpwwwopenmporg
For more information read about the MIPSpro compilers
219 Sun - see Oracle
220 No longer available
2201 Apogee
httpwwwapogeecom
Features of the FORTRAN 7790 CompilerNo longer available Originally available for the SolarisSPARC platforms the
compiler conforms to Sunrsquos Solaris ABI and produces assembler code files acceptableto Sunrsquos Solaris assembler When used in the FORTRAN 77 compilation modethe compiler is compliant with the MIL-STD 1753 FORTRAN 77 and accepts mostFORTRAN 77 extensions of Sun IBM and other F77 compilers The supportedF77 extensions include structures length qualification on types additional data andconstant types initializations in type statements additional statements (END DODO WHILE POINTER VOLATILE etc) computations with aggregates namelist-directed IOs and debugging statements
When used in the Fortran 90 mode the compiler is compliant with the ANSIISOFortran 90 standard
2202 Compaq
This compiler is no longer under development This ceased when Intel bought outthe technology from HP Still widely used with legacy software Copies for sale canbe found on Ebay and similar vites
26 CHAPTER 2 COMPILERS
2203 EPC
Edinburgh Portable Compilers was an early vendor to produce a Fortran 90 compila-tion system A report by Adam Marshall from Liverpool University has a comparisionof several early Fortran 90 compilers It can be found at the address below
httpwwwlivacukHPCFortranCompilerStudyHTMLFortranCompilerStudyHTMLhtml
2204 NA Software
httpwwwnasoftwarecoukhomehtml
No longer available
Chapter 3
Fortran aware editors and IDEs
bull Version 15 October 2011 Updated photran entry
bull Version 14 July 2010 Added SunStudio Express entry
bull Version 131 April 2006 Added Windows Zeus entry
31 Windows
311 Absoft Editor (ae)
httpwwwabsoftcom
312 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
313 compaq visual fortran 6x
Nolongeravailable
314 editeur
wwwstudiowarecom
315 emacsxemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
316 emacsxemacs - cygwin components
httpwwwcygwincom
28 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
317 gvimvim - stand alone
httpwwwvimorg
318 gvimvim - cygwin component
httpwwwcygwincom
319 jed wjed (Windows)
httpwwwjedsoftorgjed
3110 lahey ed
httpwwwlaheycom
3111 microsoft visual studio 6
No longer available
3112 Microsoft Visual StudioNET
There are a number of vendors that have provided integration with Microsoft VisualStudio NET These include
Intel Visual Fortranwwwintelcom
LaheyFujitsu Fortranwwwlaheycom
Silverfrost Salford FTN95httpwwwsilverfrostcom11ftn95overviewasp
3113 nedit - cygwin
httpwwwneditorg
3114 ntemacs
httpwwwgnuorgsoftwareemacswindowsntemacshtml
3115 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
32 LINUXUNIX 29
3116 salford plato
httpwwwsilverfrostcom11ftn95overviewasp
3117 Oracle Solaris Studio Express
httpdeveloperssuncomsunstudiodownloadsexpress
3118 UltraEdit
wwwultraeditcom
3119 xemacsemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
3120 xemacsemacs - cygwin components
httpwwwcygwincom
3121 Zeus ide
httpwwwzeuseditcomfortranhtml
32 LinuxUnix
321 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
322 emacsxemacs
httpwwwgnuorgsoftwareemacsemacshtml
323 jed xjed (Unix(all flavours)OpenVMS) wjed (Win-dows)
httpwwwjedsoftorgjed
324 nedit
httpwwwneditorg
30 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
325 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
33 Apple OS X
331 Absoft Editor
httpwwwabsoftcom
332 BBEdit
httpwwwapplecomdownloadsmacosxproductivity_toolsbbedithtml
httpwwwbarebonescomproductsbbeditindexshtml
333 emacsxemacs
pre-installed
334 Photran
wwwphotranorg
335 Smultron
httpsmultronsourceforgenet
336 TextMate
httpmacromatescom
337 TextWrangler
httpwwwapplecomdownloadsmacosxproductivity_toolstextwranglerhtml
httpwwwbarebonescomproductstextwranglerindexshtml
338 Vim
Pre-installed
33 APPLE OS X 31
339 Xcode
httpdeveloperapplecom
3310 xemacsemacs
pre-installed
32 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
Chapter 4
Commercial Courses
bull Version 14 August 2012 Updated several entries
bull Version 13 November 2011 Notified by Shaun Forth at Cranfield of theirchanges Also added the HECToR entries
bull Version 12 August 2010
bull Version 11 September 2008
bull Version 10 January 2006
41 Ian Chivers and Jane Sleightholme
Ian Chivers and Jane Sleightholme are available to do tailored on site courses Coursesinclude
bull Introduction to Modern Programming in Fortran
bull Advanced Features of Modern Fortran
See
httpwwwfortranpluscouk
42 Cranfield University
Cranfield University offers four Fortran programming courses
bull Introduction to Programming in Fortran 95 and 2003 (3 days)
bull Advanced Programming in Fortran 95 and 2003 (3 days)
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
210 INTEL 21
proven XL Fortarn compiler technology to exploit the capabilities of the PowerPC440 and 440d processors used in IBM Blue GeneL supercomputers
XL Fortran Advanced Edition for Linux XL Fortran Advanced Edition for Linuxsupports your choice of RHEL4 SLES9 and Y-HPC Linux distributions Advancedoptimization technology and VMX support help you create high-performance 32-bitand 64-bit applications that run efficiently on a variety of processor architecturesincluding IBMrsquos newest POWER5+ and PowerPC 970 processors and Apple PowerMac G5 and Xserve G5 systems
VS FORTRAN VS FORTRAN contains features geared to help Fortran program-mers develop applications more easily and efficiently while using the full power ofIBMrsquos large systems
The second web link has details of Fortran 2003 support
210 Intel
httpsoftwareintelcomen-usintel-compilers
Intel offers optimizing Fortran compilers for the IA-32 x64 and IA-64 (Intel Ita-nium) architectures running the Linux Mac OS X (IA-32 and x64) or Windows op-erating systems Intel Fortran is fully compliant with Fortran 95 and supports mostof Fortran 2003 as well as many popular extensions The compiler offers automaticparallelization and vectorization and supports OpenMP 30 as well as generatingoptimized code for the latest Intel processors and compatible non-Intel processors
On all platforms the Intel Fortran compiler includes the Intel Math Kernel Li-brary a library of highly optimized extensively threaded math routines for scienceengineering and financial applications The IMSL Fortran Numeric Library 60 fromVisual Numerics is an option on Windows
On Windows the compiler integrates into Microsoft Visual Studio 2003 2005 or2008 and includes a self-sufficient Fortran development environment based on Mi-crosoft Visual Studio 2008 The Windows compiler also provides mechanisms tointerface Fortran code with the Microsoft COM and NET environments Academicand student pricing is available
211 LaheyFujitsu
httpwwwlaheycom
LaheyFujitsu Fortran 95 is produced by the LaheyFujitsu alliance LF95 is avail-able in three Windows configurations Express Standard and PRO and two Linuxconfigurations Express and PRO All configurations feature VAX IBM and POSIXlanguage extensions allocatable array enhancements etc The Windows and LinuxExpress version is command line only and features the compiler linker and debug-ger PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-
22 CHAPTER 2 COMPILERS
TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creatingtrue Windows programs with Fortran and a Coverage Analysis Tool that detects un-executed code and performs range of operation checking The PRO is compatible withVisual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 Math Libraryand Visual Analyzer (see below) The PRO Linux version offers auto-parallelizationOpenMP compatibility thread-safe BLAS and LAPACK WiSK AUTOMAKE andFujitsus SSL2 All products come with free technical support and are available at Also available is a subset compiler elf90
It would appear that the Windows version is no longer under active developmentThe last update was dated December 2004
212 NAG
httpwwwnagcouknagwareasp
The NAG Fortran Compiler derived from the worldrsquos first Fortran 90 Compilerfrom NAG is robust highly tested and valued by developers all over the globe forits checking capabilities and detailed error reporting Available on a wide range ofUnix and Windows platforms it accepts fixed or free format Fortran 95 input andmany common Fortran 77 extensions are allowed A large number of Fortran 2003language features are now available HPF code is also compiled and checked thoughonly single processor output is generated The 53 release supports a good workingsubset of OpenMP 3
The following versions are availableApple Intel Mac64 Release 53 gcc 42HP PA-RISC 11 Release 51 HP ANSI CIBM Power AIX Release 51 AIX XL C 60IBM Z9 Linux Release 51 gcc 346IBM Z9 Open Edition Release 52 IBM CLinux x86-32 Release 53 gcc 322Linux64 Release 53 gcc 412Sun SPARC Solaris Release 52 gcc 342Sun SPARC Solaris Release 52 Sun C v 55x86 and x86-64 Windows Release 53An integrated Fortran IDE is also available for Windows
httpwwwnagcouknagwarenpfortranbuilderasp
213 NEC
httpwwwneccom
214 ORACLE - ORIGINALLY SUN 23
NEC has a native optimizing Fortran 95 compiler FORTRAN90SX with anautomatic vectorization and parallelization capability for its supercomputer SX se-ries HPFSX V2 provides functions conforming to the specification of HPF11 andHPF20 and can be used with vector processing functions in SX Fortran and withparallel processing functions using microtasking
214 Oracle - originally Sun
httpwwworaclecomussunindexhtm
httpwwwsuncom
httpdeveloperssuncomsunstudio
httpdeveloperssuncomsunstudiodownloadsexpress
Sun Studio software delivers high-performance optimizing C C++ and Fortrancompilers for the Solaris OS on SPARC and both Solaris and Linux on x86x64platforms including the latest multi-core systems
Whatrsquos in Sun StudioAll Compilers - Specify 32-bit or 64-bit Address Model Auto-parallelization of
single-threaded code Flags Static data-race and deadlock-detection for x86 Mathand Visual Instruction Set Support in SPARC64 VI Option for Floating-Point Fusedor Multiply-Add Instructions Option for Thread Analyzer support Linux SupportOpenMP and OpenMPI suport Support for the directives clauses and attributes
Fortran Compiler - Interval arithmetic support on Solaris Intel platform Fastercompilation time for source files UNSIGNED arguments Backward compatibilitywith f77
C Compiler - More options Auto-parallelization of single-threaded code GNU Ccompatibility
C++ Compiler - More options ABI compatibility Compiler flags to optimize formulticore architectures Static linking the standard C++ runtime library
215 PathScale
httpwwwpathscalecomproductspathscale_compiler_suite
PathScalersquos goal is to make it easier to develop and deploy 64-bit applications intoclustered environments PathScale has developed the industryrsquos highest-performanceC C++ and Fortran 9X compilers for 64-bit Linux-based computer systems ThePathScale Compiler Suite shares its heritage with the well-known and mature SGIcompiler suite The PathScale Compiler Suite has been optimized for both the
24 CHAPTER 2 COMPILERS
AMD64 and EM64T architectures and has the worldrsquos most sophisticated optimiza-tion infrastructure
Unlike other compilers the PathScale Compiler Suite provides superior perfor-mance across both floating-point and integer-intensive applications Application de-velopers targeting 64-bit Linux servers will see immediate performance benefits fromcompiling with the PathScale compilers
The PathScale Compiler Suite includesC C++ and Fortran 779095 compilers Industry leading optimizations Com-
plete support for OpenMP 20 (including WORKSHARE) Complete support for 64-bit and 32-bit x86 compilation Code generation for AMD64 ABI AMD Opteronand Intel EM64T PathScale optimized AMD Core Math Library (available for down-load) Advanced serial debugger PathDB Compatible with GNUgcc tool chain andpopular Third Party debuggers Supported on SUSE RedHat and Fedora Linux Thecurrently shipping version of the PathScale Compiler Suite is
216 PGI
httpwwwpgroupcom
High-performance Optimizing Parallel Compilers For multi-core 64-bit x64 and 32-bit x86 processor-based Linux Mac OS X and Windows workstations servers andclusters PGI Workstation includes a single seat license for PGIrsquos suite of compilersand tools Also available with a multi-user network floating license (PGI Server)The PGI CDK Cluster Development Kit includes all the software for building andprogramming a turn-key Linux cluster PGI Visual Fortran fully integrates PGIparallel Fortran into Microsoft Windows using Microsoft Visual Studio 2005
217 Silverfrost nee Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
Salford Software markets FTN95 a Fortran 95 compiler for Win32 running onWindows 95NT2000XP PCs It has announced its Fortran 95 compiler for Mi-crosoft NET (FTN95 for NET) This compiler will produce fast executables fromsource files that may be any combination of Fortran 77 Fortran 90 and Fortran 95FTN95 for NET including integrated Help and Debugger is supplied bundled withFTN95 for Win32 and optionally with Microsoft Visual Studio for NET A low-costfully-featured personal edition is also available
218 SGI
httpwwwsgicomproductssoftwareirixtoolsfortranhtml
219 SUN - SEE ORACLE 25
MIPSpro Fortran Compilers This 64-bit ANSI Fortran 77 compiler is ideal forsystems running IRIX 6x It is compatible with VAXVMS Fortran and supportsCray extensions The 74 version of the MIPSpro Fortran 77 and Fortran 90 compilersnow support the OpenMP 20 standard Among the new features introduced in theOpenMP 20 specification are
WORKSHARE directive COPYPRIVATE clause for the broadcast of sequentialreads Portable timing routines MIPSpro Fortran 90 Compiler A 64 bit ANSI Fortran90 compiler with additional support for user-defined multiprocessing directives forsystems running IRIX 6x Compatible with VAXVMS Fortran and supports Crayextensions With the release of version 74 Fortran 90 specific support under theOpenMP 20 standard are
Parallelization of F90 array syntax via the WORKSHARE directive Privatizationof deferred shape and assumed shape objects The full Fortran 20 specification canobtained from the OpenMP Web site at httpwwwopenmporg
For more information read about the MIPSpro compilers
219 Sun - see Oracle
220 No longer available
2201 Apogee
httpwwwapogeecom
Features of the FORTRAN 7790 CompilerNo longer available Originally available for the SolarisSPARC platforms the
compiler conforms to Sunrsquos Solaris ABI and produces assembler code files acceptableto Sunrsquos Solaris assembler When used in the FORTRAN 77 compilation modethe compiler is compliant with the MIL-STD 1753 FORTRAN 77 and accepts mostFORTRAN 77 extensions of Sun IBM and other F77 compilers The supportedF77 extensions include structures length qualification on types additional data andconstant types initializations in type statements additional statements (END DODO WHILE POINTER VOLATILE etc) computations with aggregates namelist-directed IOs and debugging statements
When used in the Fortran 90 mode the compiler is compliant with the ANSIISOFortran 90 standard
2202 Compaq
This compiler is no longer under development This ceased when Intel bought outthe technology from HP Still widely used with legacy software Copies for sale canbe found on Ebay and similar vites
26 CHAPTER 2 COMPILERS
2203 EPC
Edinburgh Portable Compilers was an early vendor to produce a Fortran 90 compila-tion system A report by Adam Marshall from Liverpool University has a comparisionof several early Fortran 90 compilers It can be found at the address below
httpwwwlivacukHPCFortranCompilerStudyHTMLFortranCompilerStudyHTMLhtml
2204 NA Software
httpwwwnasoftwarecoukhomehtml
No longer available
Chapter 3
Fortran aware editors and IDEs
bull Version 15 October 2011 Updated photran entry
bull Version 14 July 2010 Added SunStudio Express entry
bull Version 131 April 2006 Added Windows Zeus entry
31 Windows
311 Absoft Editor (ae)
httpwwwabsoftcom
312 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
313 compaq visual fortran 6x
Nolongeravailable
314 editeur
wwwstudiowarecom
315 emacsxemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
316 emacsxemacs - cygwin components
httpwwwcygwincom
28 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
317 gvimvim - stand alone
httpwwwvimorg
318 gvimvim - cygwin component
httpwwwcygwincom
319 jed wjed (Windows)
httpwwwjedsoftorgjed
3110 lahey ed
httpwwwlaheycom
3111 microsoft visual studio 6
No longer available
3112 Microsoft Visual StudioNET
There are a number of vendors that have provided integration with Microsoft VisualStudio NET These include
Intel Visual Fortranwwwintelcom
LaheyFujitsu Fortranwwwlaheycom
Silverfrost Salford FTN95httpwwwsilverfrostcom11ftn95overviewasp
3113 nedit - cygwin
httpwwwneditorg
3114 ntemacs
httpwwwgnuorgsoftwareemacswindowsntemacshtml
3115 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
32 LINUXUNIX 29
3116 salford plato
httpwwwsilverfrostcom11ftn95overviewasp
3117 Oracle Solaris Studio Express
httpdeveloperssuncomsunstudiodownloadsexpress
3118 UltraEdit
wwwultraeditcom
3119 xemacsemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
3120 xemacsemacs - cygwin components
httpwwwcygwincom
3121 Zeus ide
httpwwwzeuseditcomfortranhtml
32 LinuxUnix
321 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
322 emacsxemacs
httpwwwgnuorgsoftwareemacsemacshtml
323 jed xjed (Unix(all flavours)OpenVMS) wjed (Win-dows)
httpwwwjedsoftorgjed
324 nedit
httpwwwneditorg
30 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
325 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
33 Apple OS X
331 Absoft Editor
httpwwwabsoftcom
332 BBEdit
httpwwwapplecomdownloadsmacosxproductivity_toolsbbedithtml
httpwwwbarebonescomproductsbbeditindexshtml
333 emacsxemacs
pre-installed
334 Photran
wwwphotranorg
335 Smultron
httpsmultronsourceforgenet
336 TextMate
httpmacromatescom
337 TextWrangler
httpwwwapplecomdownloadsmacosxproductivity_toolstextwranglerhtml
httpwwwbarebonescomproductstextwranglerindexshtml
338 Vim
Pre-installed
33 APPLE OS X 31
339 Xcode
httpdeveloperapplecom
3310 xemacsemacs
pre-installed
32 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
Chapter 4
Commercial Courses
bull Version 14 August 2012 Updated several entries
bull Version 13 November 2011 Notified by Shaun Forth at Cranfield of theirchanges Also added the HECToR entries
bull Version 12 August 2010
bull Version 11 September 2008
bull Version 10 January 2006
41 Ian Chivers and Jane Sleightholme
Ian Chivers and Jane Sleightholme are available to do tailored on site courses Coursesinclude
bull Introduction to Modern Programming in Fortran
bull Advanced Features of Modern Fortran
See
httpwwwfortranpluscouk
42 Cranfield University
Cranfield University offers four Fortran programming courses
bull Introduction to Programming in Fortran 95 and 2003 (3 days)
bull Advanced Programming in Fortran 95 and 2003 (3 days)
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
22 CHAPTER 2 COMPILERS
TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creatingtrue Windows programs with Fortran and a Coverage Analysis Tool that detects un-executed code and performs range of operation checking The PRO is compatible withVisual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 Math Libraryand Visual Analyzer (see below) The PRO Linux version offers auto-parallelizationOpenMP compatibility thread-safe BLAS and LAPACK WiSK AUTOMAKE andFujitsus SSL2 All products come with free technical support and are available at Also available is a subset compiler elf90
It would appear that the Windows version is no longer under active developmentThe last update was dated December 2004
212 NAG
httpwwwnagcouknagwareasp
The NAG Fortran Compiler derived from the worldrsquos first Fortran 90 Compilerfrom NAG is robust highly tested and valued by developers all over the globe forits checking capabilities and detailed error reporting Available on a wide range ofUnix and Windows platforms it accepts fixed or free format Fortran 95 input andmany common Fortran 77 extensions are allowed A large number of Fortran 2003language features are now available HPF code is also compiled and checked thoughonly single processor output is generated The 53 release supports a good workingsubset of OpenMP 3
The following versions are availableApple Intel Mac64 Release 53 gcc 42HP PA-RISC 11 Release 51 HP ANSI CIBM Power AIX Release 51 AIX XL C 60IBM Z9 Linux Release 51 gcc 346IBM Z9 Open Edition Release 52 IBM CLinux x86-32 Release 53 gcc 322Linux64 Release 53 gcc 412Sun SPARC Solaris Release 52 gcc 342Sun SPARC Solaris Release 52 Sun C v 55x86 and x86-64 Windows Release 53An integrated Fortran IDE is also available for Windows
httpwwwnagcouknagwarenpfortranbuilderasp
213 NEC
httpwwwneccom
214 ORACLE - ORIGINALLY SUN 23
NEC has a native optimizing Fortran 95 compiler FORTRAN90SX with anautomatic vectorization and parallelization capability for its supercomputer SX se-ries HPFSX V2 provides functions conforming to the specification of HPF11 andHPF20 and can be used with vector processing functions in SX Fortran and withparallel processing functions using microtasking
214 Oracle - originally Sun
httpwwworaclecomussunindexhtm
httpwwwsuncom
httpdeveloperssuncomsunstudio
httpdeveloperssuncomsunstudiodownloadsexpress
Sun Studio software delivers high-performance optimizing C C++ and Fortrancompilers for the Solaris OS on SPARC and both Solaris and Linux on x86x64platforms including the latest multi-core systems
Whatrsquos in Sun StudioAll Compilers - Specify 32-bit or 64-bit Address Model Auto-parallelization of
single-threaded code Flags Static data-race and deadlock-detection for x86 Mathand Visual Instruction Set Support in SPARC64 VI Option for Floating-Point Fusedor Multiply-Add Instructions Option for Thread Analyzer support Linux SupportOpenMP and OpenMPI suport Support for the directives clauses and attributes
Fortran Compiler - Interval arithmetic support on Solaris Intel platform Fastercompilation time for source files UNSIGNED arguments Backward compatibilitywith f77
C Compiler - More options Auto-parallelization of single-threaded code GNU Ccompatibility
C++ Compiler - More options ABI compatibility Compiler flags to optimize formulticore architectures Static linking the standard C++ runtime library
215 PathScale
httpwwwpathscalecomproductspathscale_compiler_suite
PathScalersquos goal is to make it easier to develop and deploy 64-bit applications intoclustered environments PathScale has developed the industryrsquos highest-performanceC C++ and Fortran 9X compilers for 64-bit Linux-based computer systems ThePathScale Compiler Suite shares its heritage with the well-known and mature SGIcompiler suite The PathScale Compiler Suite has been optimized for both the
24 CHAPTER 2 COMPILERS
AMD64 and EM64T architectures and has the worldrsquos most sophisticated optimiza-tion infrastructure
Unlike other compilers the PathScale Compiler Suite provides superior perfor-mance across both floating-point and integer-intensive applications Application de-velopers targeting 64-bit Linux servers will see immediate performance benefits fromcompiling with the PathScale compilers
The PathScale Compiler Suite includesC C++ and Fortran 779095 compilers Industry leading optimizations Com-
plete support for OpenMP 20 (including WORKSHARE) Complete support for 64-bit and 32-bit x86 compilation Code generation for AMD64 ABI AMD Opteronand Intel EM64T PathScale optimized AMD Core Math Library (available for down-load) Advanced serial debugger PathDB Compatible with GNUgcc tool chain andpopular Third Party debuggers Supported on SUSE RedHat and Fedora Linux Thecurrently shipping version of the PathScale Compiler Suite is
216 PGI
httpwwwpgroupcom
High-performance Optimizing Parallel Compilers For multi-core 64-bit x64 and 32-bit x86 processor-based Linux Mac OS X and Windows workstations servers andclusters PGI Workstation includes a single seat license for PGIrsquos suite of compilersand tools Also available with a multi-user network floating license (PGI Server)The PGI CDK Cluster Development Kit includes all the software for building andprogramming a turn-key Linux cluster PGI Visual Fortran fully integrates PGIparallel Fortran into Microsoft Windows using Microsoft Visual Studio 2005
217 Silverfrost nee Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
Salford Software markets FTN95 a Fortran 95 compiler for Win32 running onWindows 95NT2000XP PCs It has announced its Fortran 95 compiler for Mi-crosoft NET (FTN95 for NET) This compiler will produce fast executables fromsource files that may be any combination of Fortran 77 Fortran 90 and Fortran 95FTN95 for NET including integrated Help and Debugger is supplied bundled withFTN95 for Win32 and optionally with Microsoft Visual Studio for NET A low-costfully-featured personal edition is also available
218 SGI
httpwwwsgicomproductssoftwareirixtoolsfortranhtml
219 SUN - SEE ORACLE 25
MIPSpro Fortran Compilers This 64-bit ANSI Fortran 77 compiler is ideal forsystems running IRIX 6x It is compatible with VAXVMS Fortran and supportsCray extensions The 74 version of the MIPSpro Fortran 77 and Fortran 90 compilersnow support the OpenMP 20 standard Among the new features introduced in theOpenMP 20 specification are
WORKSHARE directive COPYPRIVATE clause for the broadcast of sequentialreads Portable timing routines MIPSpro Fortran 90 Compiler A 64 bit ANSI Fortran90 compiler with additional support for user-defined multiprocessing directives forsystems running IRIX 6x Compatible with VAXVMS Fortran and supports Crayextensions With the release of version 74 Fortran 90 specific support under theOpenMP 20 standard are
Parallelization of F90 array syntax via the WORKSHARE directive Privatizationof deferred shape and assumed shape objects The full Fortran 20 specification canobtained from the OpenMP Web site at httpwwwopenmporg
For more information read about the MIPSpro compilers
219 Sun - see Oracle
220 No longer available
2201 Apogee
httpwwwapogeecom
Features of the FORTRAN 7790 CompilerNo longer available Originally available for the SolarisSPARC platforms the
compiler conforms to Sunrsquos Solaris ABI and produces assembler code files acceptableto Sunrsquos Solaris assembler When used in the FORTRAN 77 compilation modethe compiler is compliant with the MIL-STD 1753 FORTRAN 77 and accepts mostFORTRAN 77 extensions of Sun IBM and other F77 compilers The supportedF77 extensions include structures length qualification on types additional data andconstant types initializations in type statements additional statements (END DODO WHILE POINTER VOLATILE etc) computations with aggregates namelist-directed IOs and debugging statements
When used in the Fortran 90 mode the compiler is compliant with the ANSIISOFortran 90 standard
2202 Compaq
This compiler is no longer under development This ceased when Intel bought outthe technology from HP Still widely used with legacy software Copies for sale canbe found on Ebay and similar vites
26 CHAPTER 2 COMPILERS
2203 EPC
Edinburgh Portable Compilers was an early vendor to produce a Fortran 90 compila-tion system A report by Adam Marshall from Liverpool University has a comparisionof several early Fortran 90 compilers It can be found at the address below
httpwwwlivacukHPCFortranCompilerStudyHTMLFortranCompilerStudyHTMLhtml
2204 NA Software
httpwwwnasoftwarecoukhomehtml
No longer available
Chapter 3
Fortran aware editors and IDEs
bull Version 15 October 2011 Updated photran entry
bull Version 14 July 2010 Added SunStudio Express entry
bull Version 131 April 2006 Added Windows Zeus entry
31 Windows
311 Absoft Editor (ae)
httpwwwabsoftcom
312 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
313 compaq visual fortran 6x
Nolongeravailable
314 editeur
wwwstudiowarecom
315 emacsxemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
316 emacsxemacs - cygwin components
httpwwwcygwincom
28 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
317 gvimvim - stand alone
httpwwwvimorg
318 gvimvim - cygwin component
httpwwwcygwincom
319 jed wjed (Windows)
httpwwwjedsoftorgjed
3110 lahey ed
httpwwwlaheycom
3111 microsoft visual studio 6
No longer available
3112 Microsoft Visual StudioNET
There are a number of vendors that have provided integration with Microsoft VisualStudio NET These include
Intel Visual Fortranwwwintelcom
LaheyFujitsu Fortranwwwlaheycom
Silverfrost Salford FTN95httpwwwsilverfrostcom11ftn95overviewasp
3113 nedit - cygwin
httpwwwneditorg
3114 ntemacs
httpwwwgnuorgsoftwareemacswindowsntemacshtml
3115 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
32 LINUXUNIX 29
3116 salford plato
httpwwwsilverfrostcom11ftn95overviewasp
3117 Oracle Solaris Studio Express
httpdeveloperssuncomsunstudiodownloadsexpress
3118 UltraEdit
wwwultraeditcom
3119 xemacsemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
3120 xemacsemacs - cygwin components
httpwwwcygwincom
3121 Zeus ide
httpwwwzeuseditcomfortranhtml
32 LinuxUnix
321 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
322 emacsxemacs
httpwwwgnuorgsoftwareemacsemacshtml
323 jed xjed (Unix(all flavours)OpenVMS) wjed (Win-dows)
httpwwwjedsoftorgjed
324 nedit
httpwwwneditorg
30 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
325 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
33 Apple OS X
331 Absoft Editor
httpwwwabsoftcom
332 BBEdit
httpwwwapplecomdownloadsmacosxproductivity_toolsbbedithtml
httpwwwbarebonescomproductsbbeditindexshtml
333 emacsxemacs
pre-installed
334 Photran
wwwphotranorg
335 Smultron
httpsmultronsourceforgenet
336 TextMate
httpmacromatescom
337 TextWrangler
httpwwwapplecomdownloadsmacosxproductivity_toolstextwranglerhtml
httpwwwbarebonescomproductstextwranglerindexshtml
338 Vim
Pre-installed
33 APPLE OS X 31
339 Xcode
httpdeveloperapplecom
3310 xemacsemacs
pre-installed
32 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
Chapter 4
Commercial Courses
bull Version 14 August 2012 Updated several entries
bull Version 13 November 2011 Notified by Shaun Forth at Cranfield of theirchanges Also added the HECToR entries
bull Version 12 August 2010
bull Version 11 September 2008
bull Version 10 January 2006
41 Ian Chivers and Jane Sleightholme
Ian Chivers and Jane Sleightholme are available to do tailored on site courses Coursesinclude
bull Introduction to Modern Programming in Fortran
bull Advanced Features of Modern Fortran
See
httpwwwfortranpluscouk
42 Cranfield University
Cranfield University offers four Fortran programming courses
bull Introduction to Programming in Fortran 95 and 2003 (3 days)
bull Advanced Programming in Fortran 95 and 2003 (3 days)
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
214 ORACLE - ORIGINALLY SUN 23
NEC has a native optimizing Fortran 95 compiler FORTRAN90SX with anautomatic vectorization and parallelization capability for its supercomputer SX se-ries HPFSX V2 provides functions conforming to the specification of HPF11 andHPF20 and can be used with vector processing functions in SX Fortran and withparallel processing functions using microtasking
214 Oracle - originally Sun
httpwwworaclecomussunindexhtm
httpwwwsuncom
httpdeveloperssuncomsunstudio
httpdeveloperssuncomsunstudiodownloadsexpress
Sun Studio software delivers high-performance optimizing C C++ and Fortrancompilers for the Solaris OS on SPARC and both Solaris and Linux on x86x64platforms including the latest multi-core systems
Whatrsquos in Sun StudioAll Compilers - Specify 32-bit or 64-bit Address Model Auto-parallelization of
single-threaded code Flags Static data-race and deadlock-detection for x86 Mathand Visual Instruction Set Support in SPARC64 VI Option for Floating-Point Fusedor Multiply-Add Instructions Option for Thread Analyzer support Linux SupportOpenMP and OpenMPI suport Support for the directives clauses and attributes
Fortran Compiler - Interval arithmetic support on Solaris Intel platform Fastercompilation time for source files UNSIGNED arguments Backward compatibilitywith f77
C Compiler - More options Auto-parallelization of single-threaded code GNU Ccompatibility
C++ Compiler - More options ABI compatibility Compiler flags to optimize formulticore architectures Static linking the standard C++ runtime library
215 PathScale
httpwwwpathscalecomproductspathscale_compiler_suite
PathScalersquos goal is to make it easier to develop and deploy 64-bit applications intoclustered environments PathScale has developed the industryrsquos highest-performanceC C++ and Fortran 9X compilers for 64-bit Linux-based computer systems ThePathScale Compiler Suite shares its heritage with the well-known and mature SGIcompiler suite The PathScale Compiler Suite has been optimized for both the
24 CHAPTER 2 COMPILERS
AMD64 and EM64T architectures and has the worldrsquos most sophisticated optimiza-tion infrastructure
Unlike other compilers the PathScale Compiler Suite provides superior perfor-mance across both floating-point and integer-intensive applications Application de-velopers targeting 64-bit Linux servers will see immediate performance benefits fromcompiling with the PathScale compilers
The PathScale Compiler Suite includesC C++ and Fortran 779095 compilers Industry leading optimizations Com-
plete support for OpenMP 20 (including WORKSHARE) Complete support for 64-bit and 32-bit x86 compilation Code generation for AMD64 ABI AMD Opteronand Intel EM64T PathScale optimized AMD Core Math Library (available for down-load) Advanced serial debugger PathDB Compatible with GNUgcc tool chain andpopular Third Party debuggers Supported on SUSE RedHat and Fedora Linux Thecurrently shipping version of the PathScale Compiler Suite is
216 PGI
httpwwwpgroupcom
High-performance Optimizing Parallel Compilers For multi-core 64-bit x64 and 32-bit x86 processor-based Linux Mac OS X and Windows workstations servers andclusters PGI Workstation includes a single seat license for PGIrsquos suite of compilersand tools Also available with a multi-user network floating license (PGI Server)The PGI CDK Cluster Development Kit includes all the software for building andprogramming a turn-key Linux cluster PGI Visual Fortran fully integrates PGIparallel Fortran into Microsoft Windows using Microsoft Visual Studio 2005
217 Silverfrost nee Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
Salford Software markets FTN95 a Fortran 95 compiler for Win32 running onWindows 95NT2000XP PCs It has announced its Fortran 95 compiler for Mi-crosoft NET (FTN95 for NET) This compiler will produce fast executables fromsource files that may be any combination of Fortran 77 Fortran 90 and Fortran 95FTN95 for NET including integrated Help and Debugger is supplied bundled withFTN95 for Win32 and optionally with Microsoft Visual Studio for NET A low-costfully-featured personal edition is also available
218 SGI
httpwwwsgicomproductssoftwareirixtoolsfortranhtml
219 SUN - SEE ORACLE 25
MIPSpro Fortran Compilers This 64-bit ANSI Fortran 77 compiler is ideal forsystems running IRIX 6x It is compatible with VAXVMS Fortran and supportsCray extensions The 74 version of the MIPSpro Fortran 77 and Fortran 90 compilersnow support the OpenMP 20 standard Among the new features introduced in theOpenMP 20 specification are
WORKSHARE directive COPYPRIVATE clause for the broadcast of sequentialreads Portable timing routines MIPSpro Fortran 90 Compiler A 64 bit ANSI Fortran90 compiler with additional support for user-defined multiprocessing directives forsystems running IRIX 6x Compatible with VAXVMS Fortran and supports Crayextensions With the release of version 74 Fortran 90 specific support under theOpenMP 20 standard are
Parallelization of F90 array syntax via the WORKSHARE directive Privatizationof deferred shape and assumed shape objects The full Fortran 20 specification canobtained from the OpenMP Web site at httpwwwopenmporg
For more information read about the MIPSpro compilers
219 Sun - see Oracle
220 No longer available
2201 Apogee
httpwwwapogeecom
Features of the FORTRAN 7790 CompilerNo longer available Originally available for the SolarisSPARC platforms the
compiler conforms to Sunrsquos Solaris ABI and produces assembler code files acceptableto Sunrsquos Solaris assembler When used in the FORTRAN 77 compilation modethe compiler is compliant with the MIL-STD 1753 FORTRAN 77 and accepts mostFORTRAN 77 extensions of Sun IBM and other F77 compilers The supportedF77 extensions include structures length qualification on types additional data andconstant types initializations in type statements additional statements (END DODO WHILE POINTER VOLATILE etc) computations with aggregates namelist-directed IOs and debugging statements
When used in the Fortran 90 mode the compiler is compliant with the ANSIISOFortran 90 standard
2202 Compaq
This compiler is no longer under development This ceased when Intel bought outthe technology from HP Still widely used with legacy software Copies for sale canbe found on Ebay and similar vites
26 CHAPTER 2 COMPILERS
2203 EPC
Edinburgh Portable Compilers was an early vendor to produce a Fortran 90 compila-tion system A report by Adam Marshall from Liverpool University has a comparisionof several early Fortran 90 compilers It can be found at the address below
httpwwwlivacukHPCFortranCompilerStudyHTMLFortranCompilerStudyHTMLhtml
2204 NA Software
httpwwwnasoftwarecoukhomehtml
No longer available
Chapter 3
Fortran aware editors and IDEs
bull Version 15 October 2011 Updated photran entry
bull Version 14 July 2010 Added SunStudio Express entry
bull Version 131 April 2006 Added Windows Zeus entry
31 Windows
311 Absoft Editor (ae)
httpwwwabsoftcom
312 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
313 compaq visual fortran 6x
Nolongeravailable
314 editeur
wwwstudiowarecom
315 emacsxemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
316 emacsxemacs - cygwin components
httpwwwcygwincom
28 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
317 gvimvim - stand alone
httpwwwvimorg
318 gvimvim - cygwin component
httpwwwcygwincom
319 jed wjed (Windows)
httpwwwjedsoftorgjed
3110 lahey ed
httpwwwlaheycom
3111 microsoft visual studio 6
No longer available
3112 Microsoft Visual StudioNET
There are a number of vendors that have provided integration with Microsoft VisualStudio NET These include
Intel Visual Fortranwwwintelcom
LaheyFujitsu Fortranwwwlaheycom
Silverfrost Salford FTN95httpwwwsilverfrostcom11ftn95overviewasp
3113 nedit - cygwin
httpwwwneditorg
3114 ntemacs
httpwwwgnuorgsoftwareemacswindowsntemacshtml
3115 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
32 LINUXUNIX 29
3116 salford plato
httpwwwsilverfrostcom11ftn95overviewasp
3117 Oracle Solaris Studio Express
httpdeveloperssuncomsunstudiodownloadsexpress
3118 UltraEdit
wwwultraeditcom
3119 xemacsemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
3120 xemacsemacs - cygwin components
httpwwwcygwincom
3121 Zeus ide
httpwwwzeuseditcomfortranhtml
32 LinuxUnix
321 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
322 emacsxemacs
httpwwwgnuorgsoftwareemacsemacshtml
323 jed xjed (Unix(all flavours)OpenVMS) wjed (Win-dows)
httpwwwjedsoftorgjed
324 nedit
httpwwwneditorg
30 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
325 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
33 Apple OS X
331 Absoft Editor
httpwwwabsoftcom
332 BBEdit
httpwwwapplecomdownloadsmacosxproductivity_toolsbbedithtml
httpwwwbarebonescomproductsbbeditindexshtml
333 emacsxemacs
pre-installed
334 Photran
wwwphotranorg
335 Smultron
httpsmultronsourceforgenet
336 TextMate
httpmacromatescom
337 TextWrangler
httpwwwapplecomdownloadsmacosxproductivity_toolstextwranglerhtml
httpwwwbarebonescomproductstextwranglerindexshtml
338 Vim
Pre-installed
33 APPLE OS X 31
339 Xcode
httpdeveloperapplecom
3310 xemacsemacs
pre-installed
32 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
Chapter 4
Commercial Courses
bull Version 14 August 2012 Updated several entries
bull Version 13 November 2011 Notified by Shaun Forth at Cranfield of theirchanges Also added the HECToR entries
bull Version 12 August 2010
bull Version 11 September 2008
bull Version 10 January 2006
41 Ian Chivers and Jane Sleightholme
Ian Chivers and Jane Sleightholme are available to do tailored on site courses Coursesinclude
bull Introduction to Modern Programming in Fortran
bull Advanced Features of Modern Fortran
See
httpwwwfortranpluscouk
42 Cranfield University
Cranfield University offers four Fortran programming courses
bull Introduction to Programming in Fortran 95 and 2003 (3 days)
bull Advanced Programming in Fortran 95 and 2003 (3 days)
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
24 CHAPTER 2 COMPILERS
AMD64 and EM64T architectures and has the worldrsquos most sophisticated optimiza-tion infrastructure
Unlike other compilers the PathScale Compiler Suite provides superior perfor-mance across both floating-point and integer-intensive applications Application de-velopers targeting 64-bit Linux servers will see immediate performance benefits fromcompiling with the PathScale compilers
The PathScale Compiler Suite includesC C++ and Fortran 779095 compilers Industry leading optimizations Com-
plete support for OpenMP 20 (including WORKSHARE) Complete support for 64-bit and 32-bit x86 compilation Code generation for AMD64 ABI AMD Opteronand Intel EM64T PathScale optimized AMD Core Math Library (available for down-load) Advanced serial debugger PathDB Compatible with GNUgcc tool chain andpopular Third Party debuggers Supported on SUSE RedHat and Fedora Linux Thecurrently shipping version of the PathScale Compiler Suite is
216 PGI
httpwwwpgroupcom
High-performance Optimizing Parallel Compilers For multi-core 64-bit x64 and 32-bit x86 processor-based Linux Mac OS X and Windows workstations servers andclusters PGI Workstation includes a single seat license for PGIrsquos suite of compilersand tools Also available with a multi-user network floating license (PGI Server)The PGI CDK Cluster Development Kit includes all the software for building andprogramming a turn-key Linux cluster PGI Visual Fortran fully integrates PGIparallel Fortran into Microsoft Windows using Microsoft Visual Studio 2005
217 Silverfrost nee Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
Salford Software markets FTN95 a Fortran 95 compiler for Win32 running onWindows 95NT2000XP PCs It has announced its Fortran 95 compiler for Mi-crosoft NET (FTN95 for NET) This compiler will produce fast executables fromsource files that may be any combination of Fortran 77 Fortran 90 and Fortran 95FTN95 for NET including integrated Help and Debugger is supplied bundled withFTN95 for Win32 and optionally with Microsoft Visual Studio for NET A low-costfully-featured personal edition is also available
218 SGI
httpwwwsgicomproductssoftwareirixtoolsfortranhtml
219 SUN - SEE ORACLE 25
MIPSpro Fortran Compilers This 64-bit ANSI Fortran 77 compiler is ideal forsystems running IRIX 6x It is compatible with VAXVMS Fortran and supportsCray extensions The 74 version of the MIPSpro Fortran 77 and Fortran 90 compilersnow support the OpenMP 20 standard Among the new features introduced in theOpenMP 20 specification are
WORKSHARE directive COPYPRIVATE clause for the broadcast of sequentialreads Portable timing routines MIPSpro Fortran 90 Compiler A 64 bit ANSI Fortran90 compiler with additional support for user-defined multiprocessing directives forsystems running IRIX 6x Compatible with VAXVMS Fortran and supports Crayextensions With the release of version 74 Fortran 90 specific support under theOpenMP 20 standard are
Parallelization of F90 array syntax via the WORKSHARE directive Privatizationof deferred shape and assumed shape objects The full Fortran 20 specification canobtained from the OpenMP Web site at httpwwwopenmporg
For more information read about the MIPSpro compilers
219 Sun - see Oracle
220 No longer available
2201 Apogee
httpwwwapogeecom
Features of the FORTRAN 7790 CompilerNo longer available Originally available for the SolarisSPARC platforms the
compiler conforms to Sunrsquos Solaris ABI and produces assembler code files acceptableto Sunrsquos Solaris assembler When used in the FORTRAN 77 compilation modethe compiler is compliant with the MIL-STD 1753 FORTRAN 77 and accepts mostFORTRAN 77 extensions of Sun IBM and other F77 compilers The supportedF77 extensions include structures length qualification on types additional data andconstant types initializations in type statements additional statements (END DODO WHILE POINTER VOLATILE etc) computations with aggregates namelist-directed IOs and debugging statements
When used in the Fortran 90 mode the compiler is compliant with the ANSIISOFortran 90 standard
2202 Compaq
This compiler is no longer under development This ceased when Intel bought outthe technology from HP Still widely used with legacy software Copies for sale canbe found on Ebay and similar vites
26 CHAPTER 2 COMPILERS
2203 EPC
Edinburgh Portable Compilers was an early vendor to produce a Fortran 90 compila-tion system A report by Adam Marshall from Liverpool University has a comparisionof several early Fortran 90 compilers It can be found at the address below
httpwwwlivacukHPCFortranCompilerStudyHTMLFortranCompilerStudyHTMLhtml
2204 NA Software
httpwwwnasoftwarecoukhomehtml
No longer available
Chapter 3
Fortran aware editors and IDEs
bull Version 15 October 2011 Updated photran entry
bull Version 14 July 2010 Added SunStudio Express entry
bull Version 131 April 2006 Added Windows Zeus entry
31 Windows
311 Absoft Editor (ae)
httpwwwabsoftcom
312 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
313 compaq visual fortran 6x
Nolongeravailable
314 editeur
wwwstudiowarecom
315 emacsxemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
316 emacsxemacs - cygwin components
httpwwwcygwincom
28 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
317 gvimvim - stand alone
httpwwwvimorg
318 gvimvim - cygwin component
httpwwwcygwincom
319 jed wjed (Windows)
httpwwwjedsoftorgjed
3110 lahey ed
httpwwwlaheycom
3111 microsoft visual studio 6
No longer available
3112 Microsoft Visual StudioNET
There are a number of vendors that have provided integration with Microsoft VisualStudio NET These include
Intel Visual Fortranwwwintelcom
LaheyFujitsu Fortranwwwlaheycom
Silverfrost Salford FTN95httpwwwsilverfrostcom11ftn95overviewasp
3113 nedit - cygwin
httpwwwneditorg
3114 ntemacs
httpwwwgnuorgsoftwareemacswindowsntemacshtml
3115 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
32 LINUXUNIX 29
3116 salford plato
httpwwwsilverfrostcom11ftn95overviewasp
3117 Oracle Solaris Studio Express
httpdeveloperssuncomsunstudiodownloadsexpress
3118 UltraEdit
wwwultraeditcom
3119 xemacsemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
3120 xemacsemacs - cygwin components
httpwwwcygwincom
3121 Zeus ide
httpwwwzeuseditcomfortranhtml
32 LinuxUnix
321 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
322 emacsxemacs
httpwwwgnuorgsoftwareemacsemacshtml
323 jed xjed (Unix(all flavours)OpenVMS) wjed (Win-dows)
httpwwwjedsoftorgjed
324 nedit
httpwwwneditorg
30 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
325 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
33 Apple OS X
331 Absoft Editor
httpwwwabsoftcom
332 BBEdit
httpwwwapplecomdownloadsmacosxproductivity_toolsbbedithtml
httpwwwbarebonescomproductsbbeditindexshtml
333 emacsxemacs
pre-installed
334 Photran
wwwphotranorg
335 Smultron
httpsmultronsourceforgenet
336 TextMate
httpmacromatescom
337 TextWrangler
httpwwwapplecomdownloadsmacosxproductivity_toolstextwranglerhtml
httpwwwbarebonescomproductstextwranglerindexshtml
338 Vim
Pre-installed
33 APPLE OS X 31
339 Xcode
httpdeveloperapplecom
3310 xemacsemacs
pre-installed
32 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
Chapter 4
Commercial Courses
bull Version 14 August 2012 Updated several entries
bull Version 13 November 2011 Notified by Shaun Forth at Cranfield of theirchanges Also added the HECToR entries
bull Version 12 August 2010
bull Version 11 September 2008
bull Version 10 January 2006
41 Ian Chivers and Jane Sleightholme
Ian Chivers and Jane Sleightholme are available to do tailored on site courses Coursesinclude
bull Introduction to Modern Programming in Fortran
bull Advanced Features of Modern Fortran
See
httpwwwfortranpluscouk
42 Cranfield University
Cranfield University offers four Fortran programming courses
bull Introduction to Programming in Fortran 95 and 2003 (3 days)
bull Advanced Programming in Fortran 95 and 2003 (3 days)
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
219 SUN - SEE ORACLE 25
MIPSpro Fortran Compilers This 64-bit ANSI Fortran 77 compiler is ideal forsystems running IRIX 6x It is compatible with VAXVMS Fortran and supportsCray extensions The 74 version of the MIPSpro Fortran 77 and Fortran 90 compilersnow support the OpenMP 20 standard Among the new features introduced in theOpenMP 20 specification are
WORKSHARE directive COPYPRIVATE clause for the broadcast of sequentialreads Portable timing routines MIPSpro Fortran 90 Compiler A 64 bit ANSI Fortran90 compiler with additional support for user-defined multiprocessing directives forsystems running IRIX 6x Compatible with VAXVMS Fortran and supports Crayextensions With the release of version 74 Fortran 90 specific support under theOpenMP 20 standard are
Parallelization of F90 array syntax via the WORKSHARE directive Privatizationof deferred shape and assumed shape objects The full Fortran 20 specification canobtained from the OpenMP Web site at httpwwwopenmporg
For more information read about the MIPSpro compilers
219 Sun - see Oracle
220 No longer available
2201 Apogee
httpwwwapogeecom
Features of the FORTRAN 7790 CompilerNo longer available Originally available for the SolarisSPARC platforms the
compiler conforms to Sunrsquos Solaris ABI and produces assembler code files acceptableto Sunrsquos Solaris assembler When used in the FORTRAN 77 compilation modethe compiler is compliant with the MIL-STD 1753 FORTRAN 77 and accepts mostFORTRAN 77 extensions of Sun IBM and other F77 compilers The supportedF77 extensions include structures length qualification on types additional data andconstant types initializations in type statements additional statements (END DODO WHILE POINTER VOLATILE etc) computations with aggregates namelist-directed IOs and debugging statements
When used in the Fortran 90 mode the compiler is compliant with the ANSIISOFortran 90 standard
2202 Compaq
This compiler is no longer under development This ceased when Intel bought outthe technology from HP Still widely used with legacy software Copies for sale canbe found on Ebay and similar vites
26 CHAPTER 2 COMPILERS
2203 EPC
Edinburgh Portable Compilers was an early vendor to produce a Fortran 90 compila-tion system A report by Adam Marshall from Liverpool University has a comparisionof several early Fortran 90 compilers It can be found at the address below
httpwwwlivacukHPCFortranCompilerStudyHTMLFortranCompilerStudyHTMLhtml
2204 NA Software
httpwwwnasoftwarecoukhomehtml
No longer available
Chapter 3
Fortran aware editors and IDEs
bull Version 15 October 2011 Updated photran entry
bull Version 14 July 2010 Added SunStudio Express entry
bull Version 131 April 2006 Added Windows Zeus entry
31 Windows
311 Absoft Editor (ae)
httpwwwabsoftcom
312 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
313 compaq visual fortran 6x
Nolongeravailable
314 editeur
wwwstudiowarecom
315 emacsxemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
316 emacsxemacs - cygwin components
httpwwwcygwincom
28 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
317 gvimvim - stand alone
httpwwwvimorg
318 gvimvim - cygwin component
httpwwwcygwincom
319 jed wjed (Windows)
httpwwwjedsoftorgjed
3110 lahey ed
httpwwwlaheycom
3111 microsoft visual studio 6
No longer available
3112 Microsoft Visual StudioNET
There are a number of vendors that have provided integration with Microsoft VisualStudio NET These include
Intel Visual Fortranwwwintelcom
LaheyFujitsu Fortranwwwlaheycom
Silverfrost Salford FTN95httpwwwsilverfrostcom11ftn95overviewasp
3113 nedit - cygwin
httpwwwneditorg
3114 ntemacs
httpwwwgnuorgsoftwareemacswindowsntemacshtml
3115 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
32 LINUXUNIX 29
3116 salford plato
httpwwwsilverfrostcom11ftn95overviewasp
3117 Oracle Solaris Studio Express
httpdeveloperssuncomsunstudiodownloadsexpress
3118 UltraEdit
wwwultraeditcom
3119 xemacsemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
3120 xemacsemacs - cygwin components
httpwwwcygwincom
3121 Zeus ide
httpwwwzeuseditcomfortranhtml
32 LinuxUnix
321 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
322 emacsxemacs
httpwwwgnuorgsoftwareemacsemacshtml
323 jed xjed (Unix(all flavours)OpenVMS) wjed (Win-dows)
httpwwwjedsoftorgjed
324 nedit
httpwwwneditorg
30 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
325 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
33 Apple OS X
331 Absoft Editor
httpwwwabsoftcom
332 BBEdit
httpwwwapplecomdownloadsmacosxproductivity_toolsbbedithtml
httpwwwbarebonescomproductsbbeditindexshtml
333 emacsxemacs
pre-installed
334 Photran
wwwphotranorg
335 Smultron
httpsmultronsourceforgenet
336 TextMate
httpmacromatescom
337 TextWrangler
httpwwwapplecomdownloadsmacosxproductivity_toolstextwranglerhtml
httpwwwbarebonescomproductstextwranglerindexshtml
338 Vim
Pre-installed
33 APPLE OS X 31
339 Xcode
httpdeveloperapplecom
3310 xemacsemacs
pre-installed
32 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
Chapter 4
Commercial Courses
bull Version 14 August 2012 Updated several entries
bull Version 13 November 2011 Notified by Shaun Forth at Cranfield of theirchanges Also added the HECToR entries
bull Version 12 August 2010
bull Version 11 September 2008
bull Version 10 January 2006
41 Ian Chivers and Jane Sleightholme
Ian Chivers and Jane Sleightholme are available to do tailored on site courses Coursesinclude
bull Introduction to Modern Programming in Fortran
bull Advanced Features of Modern Fortran
See
httpwwwfortranpluscouk
42 Cranfield University
Cranfield University offers four Fortran programming courses
bull Introduction to Programming in Fortran 95 and 2003 (3 days)
bull Advanced Programming in Fortran 95 and 2003 (3 days)
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
26 CHAPTER 2 COMPILERS
2203 EPC
Edinburgh Portable Compilers was an early vendor to produce a Fortran 90 compila-tion system A report by Adam Marshall from Liverpool University has a comparisionof several early Fortran 90 compilers It can be found at the address below
httpwwwlivacukHPCFortranCompilerStudyHTMLFortranCompilerStudyHTMLhtml
2204 NA Software
httpwwwnasoftwarecoukhomehtml
No longer available
Chapter 3
Fortran aware editors and IDEs
bull Version 15 October 2011 Updated photran entry
bull Version 14 July 2010 Added SunStudio Express entry
bull Version 131 April 2006 Added Windows Zeus entry
31 Windows
311 Absoft Editor (ae)
httpwwwabsoftcom
312 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
313 compaq visual fortran 6x
Nolongeravailable
314 editeur
wwwstudiowarecom
315 emacsxemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
316 emacsxemacs - cygwin components
httpwwwcygwincom
28 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
317 gvimvim - stand alone
httpwwwvimorg
318 gvimvim - cygwin component
httpwwwcygwincom
319 jed wjed (Windows)
httpwwwjedsoftorgjed
3110 lahey ed
httpwwwlaheycom
3111 microsoft visual studio 6
No longer available
3112 Microsoft Visual StudioNET
There are a number of vendors that have provided integration with Microsoft VisualStudio NET These include
Intel Visual Fortranwwwintelcom
LaheyFujitsu Fortranwwwlaheycom
Silverfrost Salford FTN95httpwwwsilverfrostcom11ftn95overviewasp
3113 nedit - cygwin
httpwwwneditorg
3114 ntemacs
httpwwwgnuorgsoftwareemacswindowsntemacshtml
3115 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
32 LINUXUNIX 29
3116 salford plato
httpwwwsilverfrostcom11ftn95overviewasp
3117 Oracle Solaris Studio Express
httpdeveloperssuncomsunstudiodownloadsexpress
3118 UltraEdit
wwwultraeditcom
3119 xemacsemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
3120 xemacsemacs - cygwin components
httpwwwcygwincom
3121 Zeus ide
httpwwwzeuseditcomfortranhtml
32 LinuxUnix
321 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
322 emacsxemacs
httpwwwgnuorgsoftwareemacsemacshtml
323 jed xjed (Unix(all flavours)OpenVMS) wjed (Win-dows)
httpwwwjedsoftorgjed
324 nedit
httpwwwneditorg
30 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
325 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
33 Apple OS X
331 Absoft Editor
httpwwwabsoftcom
332 BBEdit
httpwwwapplecomdownloadsmacosxproductivity_toolsbbedithtml
httpwwwbarebonescomproductsbbeditindexshtml
333 emacsxemacs
pre-installed
334 Photran
wwwphotranorg
335 Smultron
httpsmultronsourceforgenet
336 TextMate
httpmacromatescom
337 TextWrangler
httpwwwapplecomdownloadsmacosxproductivity_toolstextwranglerhtml
httpwwwbarebonescomproductstextwranglerindexshtml
338 Vim
Pre-installed
33 APPLE OS X 31
339 Xcode
httpdeveloperapplecom
3310 xemacsemacs
pre-installed
32 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
Chapter 4
Commercial Courses
bull Version 14 August 2012 Updated several entries
bull Version 13 November 2011 Notified by Shaun Forth at Cranfield of theirchanges Also added the HECToR entries
bull Version 12 August 2010
bull Version 11 September 2008
bull Version 10 January 2006
41 Ian Chivers and Jane Sleightholme
Ian Chivers and Jane Sleightholme are available to do tailored on site courses Coursesinclude
bull Introduction to Modern Programming in Fortran
bull Advanced Features of Modern Fortran
See
httpwwwfortranpluscouk
42 Cranfield University
Cranfield University offers four Fortran programming courses
bull Introduction to Programming in Fortran 95 and 2003 (3 days)
bull Advanced Programming in Fortran 95 and 2003 (3 days)
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
Chapter 3
Fortran aware editors and IDEs
bull Version 15 October 2011 Updated photran entry
bull Version 14 July 2010 Added SunStudio Express entry
bull Version 131 April 2006 Added Windows Zeus entry
31 Windows
311 Absoft Editor (ae)
httpwwwabsoftcom
312 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
313 compaq visual fortran 6x
Nolongeravailable
314 editeur
wwwstudiowarecom
315 emacsxemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
316 emacsxemacs - cygwin components
httpwwwcygwincom
28 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
317 gvimvim - stand alone
httpwwwvimorg
318 gvimvim - cygwin component
httpwwwcygwincom
319 jed wjed (Windows)
httpwwwjedsoftorgjed
3110 lahey ed
httpwwwlaheycom
3111 microsoft visual studio 6
No longer available
3112 Microsoft Visual StudioNET
There are a number of vendors that have provided integration with Microsoft VisualStudio NET These include
Intel Visual Fortranwwwintelcom
LaheyFujitsu Fortranwwwlaheycom
Silverfrost Salford FTN95httpwwwsilverfrostcom11ftn95overviewasp
3113 nedit - cygwin
httpwwwneditorg
3114 ntemacs
httpwwwgnuorgsoftwareemacswindowsntemacshtml
3115 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
32 LINUXUNIX 29
3116 salford plato
httpwwwsilverfrostcom11ftn95overviewasp
3117 Oracle Solaris Studio Express
httpdeveloperssuncomsunstudiodownloadsexpress
3118 UltraEdit
wwwultraeditcom
3119 xemacsemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
3120 xemacsemacs - cygwin components
httpwwwcygwincom
3121 Zeus ide
httpwwwzeuseditcomfortranhtml
32 LinuxUnix
321 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
322 emacsxemacs
httpwwwgnuorgsoftwareemacsemacshtml
323 jed xjed (Unix(all flavours)OpenVMS) wjed (Win-dows)
httpwwwjedsoftorgjed
324 nedit
httpwwwneditorg
30 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
325 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
33 Apple OS X
331 Absoft Editor
httpwwwabsoftcom
332 BBEdit
httpwwwapplecomdownloadsmacosxproductivity_toolsbbedithtml
httpwwwbarebonescomproductsbbeditindexshtml
333 emacsxemacs
pre-installed
334 Photran
wwwphotranorg
335 Smultron
httpsmultronsourceforgenet
336 TextMate
httpmacromatescom
337 TextWrangler
httpwwwapplecomdownloadsmacosxproductivity_toolstextwranglerhtml
httpwwwbarebonescomproductstextwranglerindexshtml
338 Vim
Pre-installed
33 APPLE OS X 31
339 Xcode
httpdeveloperapplecom
3310 xemacsemacs
pre-installed
32 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
Chapter 4
Commercial Courses
bull Version 14 August 2012 Updated several entries
bull Version 13 November 2011 Notified by Shaun Forth at Cranfield of theirchanges Also added the HECToR entries
bull Version 12 August 2010
bull Version 11 September 2008
bull Version 10 January 2006
41 Ian Chivers and Jane Sleightholme
Ian Chivers and Jane Sleightholme are available to do tailored on site courses Coursesinclude
bull Introduction to Modern Programming in Fortran
bull Advanced Features of Modern Fortran
See
httpwwwfortranpluscouk
42 Cranfield University
Cranfield University offers four Fortran programming courses
bull Introduction to Programming in Fortran 95 and 2003 (3 days)
bull Advanced Programming in Fortran 95 and 2003 (3 days)
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
28 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
317 gvimvim - stand alone
httpwwwvimorg
318 gvimvim - cygwin component
httpwwwcygwincom
319 jed wjed (Windows)
httpwwwjedsoftorgjed
3110 lahey ed
httpwwwlaheycom
3111 microsoft visual studio 6
No longer available
3112 Microsoft Visual StudioNET
There are a number of vendors that have provided integration with Microsoft VisualStudio NET These include
Intel Visual Fortranwwwintelcom
LaheyFujitsu Fortranwwwlaheycom
Silverfrost Salford FTN95httpwwwsilverfrostcom11ftn95overviewasp
3113 nedit - cygwin
httpwwwneditorg
3114 ntemacs
httpwwwgnuorgsoftwareemacswindowsntemacshtml
3115 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
32 LINUXUNIX 29
3116 salford plato
httpwwwsilverfrostcom11ftn95overviewasp
3117 Oracle Solaris Studio Express
httpdeveloperssuncomsunstudiodownloadsexpress
3118 UltraEdit
wwwultraeditcom
3119 xemacsemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
3120 xemacsemacs - cygwin components
httpwwwcygwincom
3121 Zeus ide
httpwwwzeuseditcomfortranhtml
32 LinuxUnix
321 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
322 emacsxemacs
httpwwwgnuorgsoftwareemacsemacshtml
323 jed xjed (Unix(all flavours)OpenVMS) wjed (Win-dows)
httpwwwjedsoftorgjed
324 nedit
httpwwwneditorg
30 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
325 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
33 Apple OS X
331 Absoft Editor
httpwwwabsoftcom
332 BBEdit
httpwwwapplecomdownloadsmacosxproductivity_toolsbbedithtml
httpwwwbarebonescomproductsbbeditindexshtml
333 emacsxemacs
pre-installed
334 Photran
wwwphotranorg
335 Smultron
httpsmultronsourceforgenet
336 TextMate
httpmacromatescom
337 TextWrangler
httpwwwapplecomdownloadsmacosxproductivity_toolstextwranglerhtml
httpwwwbarebonescomproductstextwranglerindexshtml
338 Vim
Pre-installed
33 APPLE OS X 31
339 Xcode
httpdeveloperapplecom
3310 xemacsemacs
pre-installed
32 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
Chapter 4
Commercial Courses
bull Version 14 August 2012 Updated several entries
bull Version 13 November 2011 Notified by Shaun Forth at Cranfield of theirchanges Also added the HECToR entries
bull Version 12 August 2010
bull Version 11 September 2008
bull Version 10 January 2006
41 Ian Chivers and Jane Sleightholme
Ian Chivers and Jane Sleightholme are available to do tailored on site courses Coursesinclude
bull Introduction to Modern Programming in Fortran
bull Advanced Features of Modern Fortran
See
httpwwwfortranpluscouk
42 Cranfield University
Cranfield University offers four Fortran programming courses
bull Introduction to Programming in Fortran 95 and 2003 (3 days)
bull Advanced Programming in Fortran 95 and 2003 (3 days)
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
32 LINUXUNIX 29
3116 salford plato
httpwwwsilverfrostcom11ftn95overviewasp
3117 Oracle Solaris Studio Express
httpdeveloperssuncomsunstudiodownloadsexpress
3118 UltraEdit
wwwultraeditcom
3119 xemacsemacs - stand alone
httpwwwgnuorgsoftwareemacsemacshtml
3120 xemacsemacs - cygwin components
httpwwwcygwincom
3121 Zeus ide
httpwwwzeuseditcomfortranhtml
32 LinuxUnix
321 CRiSP
wwwcrispcomhttpwwwcrispdemoncouk
322 emacsxemacs
httpwwwgnuorgsoftwareemacsemacshtml
323 jed xjed (Unix(all flavours)OpenVMS) wjed (Win-dows)
httpwwwjedsoftorgjed
324 nedit
httpwwwneditorg
30 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
325 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
33 Apple OS X
331 Absoft Editor
httpwwwabsoftcom
332 BBEdit
httpwwwapplecomdownloadsmacosxproductivity_toolsbbedithtml
httpwwwbarebonescomproductsbbeditindexshtml
333 emacsxemacs
pre-installed
334 Photran
wwwphotranorg
335 Smultron
httpsmultronsourceforgenet
336 TextMate
httpmacromatescom
337 TextWrangler
httpwwwapplecomdownloadsmacosxproductivity_toolstextwranglerhtml
httpwwwbarebonescomproductstextwranglerindexshtml
338 Vim
Pre-installed
33 APPLE OS X 31
339 Xcode
httpdeveloperapplecom
3310 xemacsemacs
pre-installed
32 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
Chapter 4
Commercial Courses
bull Version 14 August 2012 Updated several entries
bull Version 13 November 2011 Notified by Shaun Forth at Cranfield of theirchanges Also added the HECToR entries
bull Version 12 August 2010
bull Version 11 September 2008
bull Version 10 January 2006
41 Ian Chivers and Jane Sleightholme
Ian Chivers and Jane Sleightholme are available to do tailored on site courses Coursesinclude
bull Introduction to Modern Programming in Fortran
bull Advanced Features of Modern Fortran
See
httpwwwfortranpluscouk
42 Cranfield University
Cranfield University offers four Fortran programming courses
bull Introduction to Programming in Fortran 95 and 2003 (3 days)
bull Advanced Programming in Fortran 95 and 2003 (3 days)
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
30 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
325 photran
httpwwweclipseorgphotran
Photran is an IDE and refactoring tool for Fortran based on Eclipse and the CDTPhotran is a component of the Eclipse Parallel Tools Platform (PTP)
33 Apple OS X
331 Absoft Editor
httpwwwabsoftcom
332 BBEdit
httpwwwapplecomdownloadsmacosxproductivity_toolsbbedithtml
httpwwwbarebonescomproductsbbeditindexshtml
333 emacsxemacs
pre-installed
334 Photran
wwwphotranorg
335 Smultron
httpsmultronsourceforgenet
336 TextMate
httpmacromatescom
337 TextWrangler
httpwwwapplecomdownloadsmacosxproductivity_toolstextwranglerhtml
httpwwwbarebonescomproductstextwranglerindexshtml
338 Vim
Pre-installed
33 APPLE OS X 31
339 Xcode
httpdeveloperapplecom
3310 xemacsemacs
pre-installed
32 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
Chapter 4
Commercial Courses
bull Version 14 August 2012 Updated several entries
bull Version 13 November 2011 Notified by Shaun Forth at Cranfield of theirchanges Also added the HECToR entries
bull Version 12 August 2010
bull Version 11 September 2008
bull Version 10 January 2006
41 Ian Chivers and Jane Sleightholme
Ian Chivers and Jane Sleightholme are available to do tailored on site courses Coursesinclude
bull Introduction to Modern Programming in Fortran
bull Advanced Features of Modern Fortran
See
httpwwwfortranpluscouk
42 Cranfield University
Cranfield University offers four Fortran programming courses
bull Introduction to Programming in Fortran 95 and 2003 (3 days)
bull Advanced Programming in Fortran 95 and 2003 (3 days)
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
33 APPLE OS X 31
339 Xcode
httpdeveloperapplecom
3310 xemacsemacs
pre-installed
32 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
Chapter 4
Commercial Courses
bull Version 14 August 2012 Updated several entries
bull Version 13 November 2011 Notified by Shaun Forth at Cranfield of theirchanges Also added the HECToR entries
bull Version 12 August 2010
bull Version 11 September 2008
bull Version 10 January 2006
41 Ian Chivers and Jane Sleightholme
Ian Chivers and Jane Sleightholme are available to do tailored on site courses Coursesinclude
bull Introduction to Modern Programming in Fortran
bull Advanced Features of Modern Fortran
See
httpwwwfortranpluscouk
42 Cranfield University
Cranfield University offers four Fortran programming courses
bull Introduction to Programming in Fortran 95 and 2003 (3 days)
bull Advanced Programming in Fortran 95 and 2003 (3 days)
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
32 CHAPTER 3 FORTRAN AWARE EDITORS AND IDES
Chapter 4
Commercial Courses
bull Version 14 August 2012 Updated several entries
bull Version 13 November 2011 Notified by Shaun Forth at Cranfield of theirchanges Also added the HECToR entries
bull Version 12 August 2010
bull Version 11 September 2008
bull Version 10 January 2006
41 Ian Chivers and Jane Sleightholme
Ian Chivers and Jane Sleightholme are available to do tailored on site courses Coursesinclude
bull Introduction to Modern Programming in Fortran
bull Advanced Features of Modern Fortran
See
httpwwwfortranpluscouk
42 Cranfield University
Cranfield University offers four Fortran programming courses
bull Introduction to Programming in Fortran 95 and 2003 (3 days)
bull Advanced Programming in Fortran 95 and 2003 (3 days)
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
Chapter 4
Commercial Courses
bull Version 14 August 2012 Updated several entries
bull Version 13 November 2011 Notified by Shaun Forth at Cranfield of theirchanges Also added the HECToR entries
bull Version 12 August 2010
bull Version 11 September 2008
bull Version 10 January 2006
41 Ian Chivers and Jane Sleightholme
Ian Chivers and Jane Sleightholme are available to do tailored on site courses Coursesinclude
bull Introduction to Modern Programming in Fortran
bull Advanced Features of Modern Fortran
See
httpwwwfortranpluscouk
42 Cranfield University
Cranfield University offers four Fortran programming courses
bull Introduction to Programming in Fortran 95 and 2003 (3 days)
bull Advanced Programming in Fortran 95 and 2003 (3 days)
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
34 CHAPTER 4 COMMERCIAL COURSES
bull Fortran 95 - 2003 for Fortran 95 Programmers (3 days)
These may be taken at the Universityrsquos Shrivenham Campus or may be deliveredat an organisationrsquos site For more details see
httpwwwcranfieldacukcdsamscfortranhtml
Additionally on the HPC front we run
bull High Performance and Parallel Computing (5 days)
httpwwwcranfieldacukcdsshortcourseshighperfparallelcomputinghtml
which includes MPI up to intermediate level and introductory OpenMP deliveredusing both Fortran 95 and C See
httpwwwrmcscranfieldacukamorg
and follow link to AMORG Short Courses
43 The Fortran Company
httpwwwfortrancom
Follow training links
44 Hector
As part of the HECToR project NAG run a number of courses that may be of interest
bull Object Oriented Programming in Fortran 2003
bull Parallel IO
bull Coarry Fortran
bull Parallel Programming with MPI
bull OpenMP
bull Multicore
bull Fortran 95
Contact
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
45 LAHEY 35
httpwwwhectoracukcsetraining
for up to date information about dates and more details about the content andduration
45 Lahey
httpwwwlaheycom
The Fortran 95 Workshop is a six-session hands-on Fortran 95 workshop led byThomas M Lahey CEO Lahey Computer Systems Inc
46 Michael Metcalf
formerly of CERN Switzerland and an ex-member of J3 and WG5 offers a Fortran95 course that lasts for six 75-minute sessions There is an F version too He is happyto negotiate holding either version anywhere in the world These courses are suitablefor graduates or equivalent level and are a useful way to kick-start a Fortran 9095or an F activity at a given site Contact at michaelmetcalft-onlinede or Manfred-von-Richthofen Strae 15 12101 Berlin Germany +00493078952573
47 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
48 PTR Associates
Currently offer two Fortran courses
httpwwwptrcoukfortran-conversion-coursehtml
httpwwwptrcoukfortran-programminghtml
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
36 CHAPTER 4 COMMERCIAL COURSES
49 Purple Sage Computing Solutions Inc
is offering three Workshops to Fortran programmers The Fortran ModernizationOptimization and Parallelization Workshop The Parallelization for Fortran Program-mers Workshop and The fthreads Workshop Contact dnagleerolscom or
httpuserserolscomdnagle
Also on offer is a one day workshop on the new features of Fortran 2000 See
httpuserserolscomdnaglewsf2000html
for more details
410 John Reid
John is Convenor of WG5 and offers a Fortran 90 course He is happy to negotiateholding it anywhere in the world It is suitable for graduates or equivalent level andis a useful way to kick-start a Fortran 90 activity at a given site
Contact johnreidstfcacuk
411 France
Simulog attn Mr E Plestan1 rue James Joule F-78286 Guyancourt Cedex FranceTel +33 1 30 12 27 80 fax +33 1 30 12 27 27infosimulogfr
412 Japan
4121 Nihon NAG Numerical Algorithms Group Japan
Offers a Fortran Introduction course and Fortran consultancy Their top page is
httpwwwnag-jcojp
They also have online material for their Fortran Introduction course starting from
httpwwwnag-jcojpfortranindexhtml
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
412 JAPAN 37
A Japanese company offering courses and conversion consultancy is SofTek SystemsInc (see above)
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
38 CHAPTER 4 COMMERCIAL COURSES
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
Chapter 5
On Line Training Material
bull Version 11 August 2012 Removed Edinburgh entry - no longer available Re-moved Manchester entry - no longer available
bull Version 10 January 2006
51 CERN
httpwwwinfocernchasdocf90html
52 Paul Dubois
httpprdownloadssourceforgenetpyfortranOBF90zip
lecture notes and class materials on Object Based Programming in Fortran 90 (InWinZip on the OptionsmdashConfiguration menu turn off tar smart convert CRLF)
53 Linkoping University
httpwwwnscliuse~boeinf77to90f77to90html
Fortran 77 to 90 Converson Course
54 Liverpool University
httpwwwlivacukHPCHPCpagehtml
Covers f90 and HPF with Java-enhanced Web pages
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
40 CHAPTER 5 ON LINE TRAINING MATERIAL
55 French
Support de cours Fortran 90 IDRIS - Corde amp Delouis
wwwidrisfrdatacourslangfortranchoix_dochtml
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
Chapter 6
Graphics and WindowsProgramming
bull Version 12 August 2012 updated various entries
bull Version 11 June 2009 updated web links
bull Version 10 January 2006
61 Introduction
This can be broken down into
bull Simple graphics programming using a library
bull visual interface via raw windows programming
bull visual interface via visual development environment
Here are some of the library and development offerings
62 dislin
DISLIN is a high-level plotting library for displaying data as curves polar plots bargraphs pie charts 3D-color plots surfaces contours and maps
httpwwwdislinde
httpwwwmpsmpgdedislin
httpwwwmpsmpgdedislincontentshtml
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
42 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
621 Worked examples
httpwwwmpsmpgdedislinexampleshtml
63 gino
GINO is a suite of high-end development tools for creating complex 2D and 3Dgraphics and GUI applications The products are ideally suited for aerospace de-fence utilities and other leading engineering organizations The GINO products areavailable for Fortran CC++ VB Delphi and NET programming environments
httpwwwgino-graphicscom
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
631 Documentation
The software is supplied with on-line manuals in a variety of formats de-pending on the environment it is running (Windows Help HTMLHelpHTMLHelp2 PDF) and Printed Manuals are available at an additionalcost
httpwwwgino-graphicscomdownloadsmanualshtm
632 Worked examples
None
64 ginomenu
GINOMENU is a subroutine toolkit for developing GUI applications under WindowsIt provides extensive window and widget building modules allowing professional user-interfaces to be created under Windows 9xNT2000XP without the need to getinvolved in MFC API or mixed-language programming
httpwwwgino-graphicscomsupporthtml
httpwwwpolyhedroncouk
httpwwwpolyhedroncomgino-ginomain0html
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
65 INTERACTER 43
641 Documentation
Windows HTML Help PDF and printed documentation
httpwwwgino-graphicscomsupporthtml
65 interacter
httpwwwpolyhedroncouk INTERACTER is our original multi-platform user-interface and graphics subroutine library for Fortran 779x developers
651 Documentation
None
652 Worked examples
None
66 opengl
OpenGL is the premier environment for developing portable interactive 2D and 3Dgraphics applications Since its introduction in 1992 OpenGL has become the indus-tryrsquos most widely used and supported 2D and 3D graphics application programminginterface (API) bringing thousands of applications to a wide variety of computerplatforms OpenGL fosters innovation and speeds application development by incor-porating a broad set of rendering texture mapping special effects and other powerfulvisualization functions Developers can leverage the power of OpenGL across all pop-ular desktop and workstation platforms ensuring wide application deployment
httpwwwopenglorg
661 Documentation
None
662 Worked examples
Nonef90gl is a public domain implementation of the official Fortran 90 bindings for
OpenGL
httpmathnistgovf90gl
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
44 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
Precompiled f90gl libraries are available for some compilers Lahey LF90 LF95and ELF90
httpwwwlaheycom(searchforOpenGL)
Compaq CVF (formerly DVF)
httpwwwcompaqcomfortran
(click on rdquoDownloadsrdquo and search for f90GL)Intel Visual Fortran
httpspremierintelcom
(Registered users log in select File Downloads and search for f90gl)
663 Documentation
httpmathnistgovf90gldocumentationhtml
664 Worked examples
Some precompiled libraries may not include the example programs or the source codefor the examples The following files contain the examples subdirectory from the f90gldistribution
Unix fglexamptargz gzipped tar file (73K) Win32 fglexampzip zip file (134K)
67 realwin
RealWin lets a Fortran programmer create full-featured applications for Microsoft32-bit Windows platforms
httpwwwindowswaycomhomehtm
httpwwwindowswaycom
671 Documentation
None
672 Worked examples
None
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
68 TOOLMASTER 45
68 toolmaster
httpwwwavscomsoftwaresoft_ttoolmhtml
Toolmaster agX is a cross-platform graphics library For FORTRAN programmersAVS offers FGLAGL which provides equivalent functionality to the agX C library
681 Documentation
None
682 Worked examples
httpwwwavscomsoftwaresoft_ttoolmhtml
69 winteracter
httpwwwpolyhedroncouk Winteracter is a modern GUI toolset for the For-tran 9095 programming language It consists of various visual development tools anda substantial subroutine library Versions are available for most Fortran 9x compilers
691 Documentation
None
692 Worked examples
None
610 Microsoft Windows graphics programming
This can be done in a variety of waysThe following is a good book with examples of doing this using Compaq Visual
FortranNorman Lawrence Compaq Visual Fortran A Guide to Creating Windows Ap-
plicationsHe also has coverage of openglIt is also possible to develop the visual interface using Visual Basic and call fortran
dllsIf you have Compaq Visual Fortran then the on-line Programmers Guide has
coverage of mixed language programming with examplesThe following compilers offer intergrated support for Windows programming under
NET
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
46 CHAPTER 6 GRAPHICS AND WINDOWS PROGRAMMING
6101 LaheyFujitsu
httpwwwlaheycom
PRO for Windows adds a Fortran-smart Windows editor a debugger an AU-TOMAKE make utility and an enhanced Winteracter Starter kit (WiSK) for creat-ing true Windows programs with Fortran and a Coverage Analysis Tool that detectsunexecuted code and performs range of operation checking The PRO is compatiblewith Visual C++ Visual Basic and Delphi and also includes Fujitsus SSL2 MathLibrary and Visual Analyzer (see below)
6102 Salford Software
httpwwwsilverfrostcom11ftn95overviewasp
FTN95 for NET including integrated Help and Debugger is supplied bundledwith FTN95 for Win32 and optionally with Microsoft Visual Studio for NET Alow-cost fully-featured personal edition is also available
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
Chapter 7
Parallel Programming
bull Version 16 August 2012 Updated several entries Added several books
bull Version 15 October 2011 Updated gfortran mpi entry updated Intel coarrayentry updated NAG openmp entry
bull Version 14 August 2010 Updated coarray mpi and openmp entries
bull Version 13 July 2010 Added g95 entry Modified gfortran entry
bull Version 12 June 2009 Corrected and updated several web addresses
bull Version 11 January 2006
71 Introduction
The Fortran language has been standardised a number of times
bull Fortran 66
bull Fortran 77
bull Fortran 90
bull Fortran 95
bull Fortran 2003
bull Fortran 2008
and Fortran 2008 was completed in 2010The Fortran 90 standard added whole array features and a WHERE construct
that were aimed at parallel programmingThe Fortran 95 standard added the FORALL construct and PURE and ELE-
MENTAL procedures to help with parallel programmingFortran 2008 added coarraysIndependently of the Fortran Standards Committees there have been a number of
other developments aimed at parallel programming including
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
48 CHAPTER 7 PARALLEL PROGRAMMING
bull HPF
bull MPI
bull OpenMP
bull Posix Threads
and each of these is covered in more depth below
Two tutorials on parallel programming are given below
httpwwwmhpccedutrainingworkshopparallel_introMAINhtml
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
711 Books
bull Rainer Keller (Editor) David Kramer (Editor) Jan-Philipp Weiss (Editor)Facing the Multicore-Challenge II Aspects of New Paradigms and Technolo-gies in Parallel Computing (Lecture Notes in Computer Science TheoreticalComputer Science and General Issues) Springer 2012 ISBN-10 364230396XISBN-13 978-3642303968
bull K De Bosschere (Author) E H DrsquoHollander (Author) G R Joubert (Author)D Padua (Author) F Peters (Author) Applications Tools and Techniques onthe Road to Exascale Computing 2012 IOS Press ISBN-10 1614990409 ISBN-13 978-1614990406
bull Kristjn Jnasson (Editor) Applied Parallel and Scientific Computing 10th Inter-national Conference PARA 2010 2012 Springer ISBN-10 3642281508 ISBN-13 978-3642281501
bull Victor Malyshkin (Editor) Parallel Computing Technologies 11th Interna-tional Conference PaCT 2011 Kazan Russia September 19-23 2011 Pro-ceedings (Lecture Notes in Computer Science and General Issues) 2012Springer ISBN-10 3642231772 ISBN-13 978-3642231773
72 Automatic
By this is meant automatic parallelisation of the code without source code modifica-tion
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
73 COARRAY FORTRAN 49
73 Coarray Fortran
Coarray Fortran is a small extension to Fortran 2003 It is a simple explicit notationfor data decomposition such as that often used in message-passing models expressedin a natural Fortran-like syntax The syntax is architecture-independent and may beimplemented not only on distributed memory machines but also on shared memorymachines and even on clustered machines
74 HPF
The High Performance Fortran Forum (HPFF) a coalition of industry academicand laboratory representatives works to define a set of extensions to Fortran 90known collectively as High Performance Fortran (HPF) HPF extensions provide ac-cess to high-performance architecture features while maintaining portability acrossplatforms
Harvey Richardson has provided a historical perspective on HPF Visit
httpwwwzeentycomHPFHPF-intropdf
Requires source code modification
75 MPI
MPI is a library specification for message-passing proposed as a standard by a broadlybased committee of vendors implementors and users
httpwww-unixmcsanlgovmpi
httpwww-unixmcsanlgovmpimpich
httpenwikipediaorgwikiMessage_Passing_Interface
751 Books
bull Aoyama Yukiya Nakano Jun (1999) RS6000 SP Practical MPI Program-ming ITSO Available as a pdf
bull Gropp William Lusk Ewing Skjellum Anthony (1999a) Using MPI 2ndEdition Portable Parallel Programming with the Message Passing InterfaceCambridge MA USA MIT Press Scientific And Engineering Computation Se-ries ISBN 978-0-262-57132-6
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
50 CHAPTER 7 PARALLEL PROGRAMMING
bull Pacheco Peter S (1997) Parallel Programming with MPI[1] 500 pp MorganKaufmann ISBN 1558603395
bull Yiannis Cotronis (Editor) Anthony Danalis (Editor) Dimitris Nikolopoulos(Editor) Jack Dongarra (Editor) Recent Advances in the Message Passing In-terface 18th European MPI Usersrsquo Group Meeting EuroMPI 2011 SantoriniGreece September 18-21 2011 Programming and Software Engineering)2011 SpringerISBN-10 3642244483 ISBN-13 978-3642244483
752 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
Cambridge University provide an MPI Course offered by Nick Maclaren See
httpwww-uxsupcsxcamacukcoursesMPI
753 Requirements
Requires the installation of the MPI library (some compiler companies offer a bundleof compiler and MPI library) and source code modification
76 OpenMP
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in CC++ and Fortran on all architectures includingUnix platforms and Windows NT platforms Jointly defined by a group of majorcomputer hardware and software vendors OpenMP is a portable scalable modelthat gives shared-memory parallel programmers a simple and flexible interface fordeveloping parallel applications for platforms ranging from the desktop to the super-computer
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
76 OPENMP 51
httpwwwopenmporg
httpenwikipediaorgwikiOpenMP
761 Books
bull R Chandra R Menon L Dagum D Kohr D Maydan J McDonald ParallelProgramming in OpenMP Morgan Kaufmann 2000 ISBN 1558606718
bull Parallel Programming in OpenMP Chandra et al 2007 Morgan KaufmannISBN 978-1-55860-671-5
bull B Chapman G Jost R van der Pas DJ Kuck (foreword) Using OpenMPPortable Shared Memory Parallel Programming The MIT Press (October 312007) ISBN 0262533022
bull Using OpenMP Chapman et al 2007 MIT Press ISBN 978-0262533027
bull Barbara Chapman (Editor) Federico Massaioli (Editor) Matthias S Mller (Ed-itor) Marco Rorro (Editor) OpenMP in a Heterogeneous World 8th Interna-tional Workshop on OpenMP IWOMP 2012 Rome Italy June 11-13 2012Springer ISBN-10 3642309607 ISBN-13 978-3642309601
bull Barbara M Chapman (Editor) William D Gropp (Editor) Kalyan Kumaran(Editor) Matthias S Mller (Editor) OpenMP in the Petascale Era 7th Inter-national Workshop on OpenMP IWOMP 2011 Chicago Il USA June 13-152011 Springer ISBN-10 364221486X ISBN-13 978-3642214868
762 Courses
In the UK the Hector service
httpwwwhectoracuk
provide various parallel programming courses Details of their courses can be foundat
httpwwwhectoracukcsetraining
763 Resources
httpwwwopenmporgwpresources
httpwwwopenmporgwpresourcesopenmp-compilers
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
52 CHAPTER 7 PARALLEL PROGRAMMING
httpopenmporgwpopenmp-specifications
764 Requirements
Requires source code modification
77 Posix Threads
Posix Threads is a library specification for multithreading proposed as a standardby a broadly based committee of vendors implementors and users
httpwwwllnlgovcomputingtutorialspthreads Requires the installationof a threading library Many operating systems come with a threading library pre-installed
Also requires source code modification
httpwwwllnlgovcomputingtutorialspthreads
78 Notes on the table below
Here is a quote from an email from Bill Long of CrayThese interchanges took place on comp-fortran-90 at
httpwwwjiscmailacuklistscomp-fortran-90html
The archives go back to 1997 and can be searched
BEGIN QUOTE
gtgt
gtgtErik Schnetter wrote
gtgt
gtgtgt
gtgtgtSince MPI and threads are implemented as libraries they work with
gtgtgtevery compiler They are on a rather low level HPF and OpenMP are
gtgtgtin a way language extensions that are translated into MPI or threads
gtgtgtby the compiler
gtgtgt
gtgtgt
gtgtgt
gtgtPerhaps a bit simplistic to say they work with every compiler
gtgtWhether MPI or threads (and what kind of threads) work is generally
gtgtindependent of the compiler but not of the operating system HPF
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
78 NOTES ON THE TABLE BELOW 53
gtgtOpenMP and some forms of automatic parallelization often involve
gtgtcompiler generated calls to library routines but
gtgtnot necessarily to MPI or POSIX threads library routines
gtgtA vendor might opt for something more efficient
gtgt
gtgtFor many of the entries in Ianrsquos list there is an
gtgtimplied combination of compiler OS and hardware
gtgtFor such a combination it is reasonable to talk
gtgtabout support for MPI or pthreads
gtgtPerhaps it would be helpful to be more explicit
gtgtabout that combination Most of the parallel
gtgtprogramming schemes depend on more than just the compiler
gtgt
gtgtCheers
gtgtBill
gtgt
END QUOTE
Here is a quote from an email from Malcolm Cohen of NAG
BEGIN QUOTE
gtgt
gtgtErik Schnetter said
gtgtgt The IBM Fortran compiler supports Posix threads
gtgt
gtgtAs I suspect do most Certainly the NAG compiler does
gtgt
gtgtCheers
gtgt--
gtgt
gtgtMalcolm Cohen Nihon NAG Tokyo Japan
gtgt(malcolmnag-jcojp)
gtgt
END QUOTE
In the light of these comments Irsquove added a rsquoCrsquo category which means that youwill need to check your
bull hardware
bull operating system version
bull compiler version
bull MPI version or Posix Threads version
to see if the combination worksThe Y entry normally means that the compiler supplier provide a bundled or fully
supported offering
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
54 CHAPTER 7 PARALLEL PROGRAMMING
79 Table of compilers and supported parallel op-
tions
Automatic Co Array HPF MPI OpenMP Posix
Threads
Absoft
Y Y C
Cray
PVP Y Y Y C
T3E Y Y C
X1 Y Y Y C
Fujitsu
Sparc C Y C
g95
Y
gfortran
Y Y Y
HP
HP-UX C Y C
Tru64 Unix Y C Y C
Openvms
Alpha C C
Openvms
Integrity C C
Openvms
VAX C C
CVF
Windows C C
IBM
XL Y C Y Y
Intel
Y Y C Y C
LaheyFujitsu
Pro Linux Y C Y C
NAG
Apple C Y C
HP PA-RISC 11 C C
IBM Power AIX C C
IBM Z9 Linux C C
IBM Z9
Open Edition C C
Linux x86-32 C Y C
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
710 PARALLELISATION TOOLS 55
Linux64 C Y C
Sun SPARC Solaris C C
Sun SPARC Solaris C C
x86 and x86-64
Windows C Y C
NEC
SX Y C C
Pathscale
Y Y Y C
Portland Group
Y Y C Y C
SGI
IRIX Y C Y C
SUN
Y Y Y C
Automatic Co Array HPF MPI OpenMP Posix
Threads
710 Parallelisation Tools
7101 Crescent Bay Software
Offer a range of parallelisation tools
httpwwwcrescentbaysoftwarecomend_userhtml
VAST-FParallel (for Fortran) and VAST-CParallel (for C) from Crescent BaySoftware are automatic parallelizing preprocessors that can significantly improve theperformance of your important applications on shared memory parallel platforms
httpwwwcrescentbaysoftwarecomvast_parallelhtml
VASTtoOpenMP from Crescent Bay Software is a parallelizing optimizer thatadds OpenMP directives to Fortran programs Translated programs have portableparallelism that can execute efficiently on a variety of SMP parallel systems frommulti-cpu PCs to Supercomputers
httpwwwcrescentbaysoftwarecomvast_toOpenMPhtml
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
56 CHAPTER 7 PARALLEL PROGRAMMING
7102 Parallel Software Products
Offer a tool to help parallelise Fortran 77 Fortran 90 or Fortran 95 codeTheir web address is
httpwwwparallelspcomindexhtm
The tool can generate either MPI calls or OpenMP calls
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
Chapter 8
Fortran Software Tools
bull Version 12 2011 Added refactoring as part of title Add Photran entry
bull Version 11 June 2009 Added web address for convert Added web address forfor struct Updated Nag entry - tools no longer available being incorporatedinto the compiler
bull Version 10 January 2006
81 Refactoring
Wikipedia has a detailed coverage of code refactoring that is a good place to startHave a look at
httpenwikipediaorgwikiCode_refactoring
Here is their first paragraphCode refactoring is disciplined technique for restructuring an existing body of code
altering its internal structure without changing its external behavior undertaken inorder to improve some of the nonfunctional attributes of the software Typically thisis done by applying series of refactorings each of which is a (usually) tiny change ina computer programrsquos source code that does not modify its functional requirementsAdvantages include improved code readability and reduced complexity to improve themaintainability of the source code as well as a more expressive internal architectureor object model to improve extensibility
Photran is listed in the Wikipedia entry as a Fortran refactoring tool
82 Convert
Fortran 77 to Fortran 90 converter by Mike Metcalf
httpwwwnagcouknagwareExamplesconvertf90
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
58 CHAPTER 8 FORTRAN SOFTWARE TOOLS
83 Forcheck
A Fortran analyzer and programming aid
httpwwwforchecknl
84 FOR STRUCT
httpwwwcobalt-bluecomfsfsmainhtm
Restructures FORTRAN into Clean Maintainable Code
85 FOR STUDY
Analyzes and Documents your FORTRAN code
httpwwwcobalt-bluecom
86 Fortran90-lint
For Fortran 90 program analysis
httpwwwcleanscapenetproductsdownloadsftpflinthtml
87 NAGWare Fortran Tools
The tools provide users with the ability to analyse and transform Fortran 77 andFortran 95 code They have been withdrawn as an individual product and are beingadded to the compiler
httpwwwnagcouk
88 photran
Photran is an Integrated Development Environment (IDE) for Fortran 77 90 95 and2003 based on Eclipse and the CDT The project is maintained by the University ofIllinois at Urbana-Champaign and IBM
httpwwweclipseorgphotran
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
89 PLUSFORT 59
89 plusFORT
Fortran 77 to Fortran 90 converter
httpwwwpolyhedroncom
810 VAST77to90
Fortran 77 to Fortran 90 translator
httpwwwcrescentbaysoftwarecomvast_77to90html
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
60 CHAPTER 8 FORTRAN SOFTWARE TOOLS
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
Chapter 9
Fortran Electronic Lists
bull Version 13 August 2012 Added Linkedin
bull Version 12 November 2011 Expanded complangfortran entry with moreinformation about usenet
bull Version 11 January 2006
91 comp-fortran-90
Jiscmail hosted Restricted to questions about Fortran since the publication of theFortran 90 standard Can either browse on-line or subscribe and get postings viaemail Postings are archived and go back to 1997
httpwwwjiscmailacuklistscomp-fortran-90html
92 complangfortran
Usenet news hosted Fortran list Covers all aspects of Fortran
Usenet is a worldwide distributed Internet discussion system Users read andpost messages (called articles or posts and collectively termed news) to one or morecategories known as newsgroups Discussions are generally threaded with modernnews reader software
Usenet is distributed amongst a large changing set of servers that store andforward messages to one another in so-called news feeds Individual users may readmessages from and post messages to a local server operated by their Internet serviceprovider university or employer
Newsreader clients
Newsgroups are typically accessed with special client software that connects to anews server Newsreader clients are available for all major operating systems
Web accessible newsgroups
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
62 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Web front ends to newsgroups mean that many people now no longer need to usedownload and install or configure a news reader client Google Groups is one such webbased front end and web browsers can access Google Groups
Free usenet news service
httpwwweternal-septemberorg
Welcome to newseternal-septemberorg newseternal-septemberorg is a privateproject providing free access to text-only Usenet News The server has a 100MBitconnection to several Internet backbones and is integrated into the Usenet via morethan 60 peers
Free access to the news server newseternal-septemberorg provides free read andwrite access to all text newsgroups It requires a registration that can be done online
httpgroupsgooglecoukgroupcomplangfortranlnk=lr
httpgroupsgooglecagroupcomplangfortran
93 LinkedIn
LinkedIn is a social networking website for people in professional occupations As ofJune 2012 LinkedIn reports more than 175 million registered users in more than 200countries and territories
httpwwwlinkedincom The Fortran Programmers Group has 1697 membersas of August 2012
The site is available in English French German Italian Portuguese SpanishDutch Swedish Romanian Russian Turkish Japanese Czech Polish Korean Ba-hasa Indonesia and Bahasa Malaysia
94 Compiler specific
Some of the compiler suppliers provide electronic list support Some provide an emailaddress for technical support
941 Absoft
httpforumsabsoftcom
supportabsoftcom
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
94 COMPILER SPECIFIC 63
942 Apogee
infoapogeecom
943 Compaq
944 Cray
945 Fortran Company
You can subscribe to an e-mail list by sending e-mail to majordomofortrancomwith the following in the body of the message
subscribe f-interest-groupfortrancom
946 Fujitsu
947 Gnu Fortran 95
You can reach us at the fortrangccgnuorg mailing list for details please refer toour mailing lists page
httpgccgnuorglistshtml
948 G95
httpgroupsgooglecomgroupgg95
949 Hewlett Packard
vf-supporthpcom
9410 IBM
Requires registration
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
64 CHAPTER 9 FORTRAN ELECTRONIC LISTS
9411 Intel
Requires registration
httpspremierintelcomWhatsNewaspx
9412 Lahey Fujitsu
Requires registration
httpwwwlaheycomsupporthtm
httpwwwlaheyforumcom
9413 NAG
Requires registration
supportnagcouk
9414 NA Software
9415 NEC
httpwwwneccomglobalsupportindexhtml
9416 Pathscale
Requires registration
httppathscalecomsupporthtml
supportpathscalecom
9417 PGI
Various offerings
httpwwwpgroupcomsupportindexhtm
9418 Salford Software
Various options
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
94 COMPILER SPECIFIC 65
httpwwwsilverfrostcom22ftn95supportindexasp
9419 SGI
Various options
httpwwwsgicomsupportcustomerservicehtml
9420 SUN
httpforumssuncomcategoryjspacategoryID=113
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
66 CHAPTER 9 FORTRAN ELECTRONIC LISTS
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
Chapter 10
Fortran Standard Bodies
bull Version 11 August 2012 Updated J3 entry to reflect organisation within theUS
bull Version 10 January 2006
101 Introduction
There are two main Fortran standards bodies and these are WG5 and PL223 (for-merly J3) Each is covered in turn below
102 WG5
Their home page is-
httpwwwnagcouksc22wg5
Their document ftp site is at-
ftpftpnagcouksc22wg5
The following
httpwwwnagcouksc22wg5linkshtml
has links to documents relating to the following standards Fortran 66 Fortran 77Fortran 90 Fortran 95 Fortran 2003 and Fortran 2008
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
68 CHAPTER 10 FORTRAN STANDARD BODIES
103 PL223
Task Group PL223 (formerly J3) is responsible for the development and interpre-tation of the United State and International standards for Programming LanguageFortran
This technical committee is the US TAG to ISOIEC JTC1 SC22WG5Current participants (August 2012) include
Bierman Emeritus
Brainerd Emeritus
Cray Inc Bill Long
Hendrickson Emeritus
Hirchert Emeritus
IBM Corporation Daniel Chen
Intel Corporation Stan Whitlock
Jet Propulsion
Laboratory Van Snyder
Lahey Emeritus
Maine Emeritus
Martin Emeritus
Meissner Emeritus
National Center for
Atmospheric Research
North Emeritus
Oracle Robert Corbett
Smith Emeritus
The Numerical Algorithms
Group Ltd Malcolm Cohen
United States Dept
of Energy
Wagener Emeritus
httpstandardsincitsorgapublicgrouppl223
The PL223 - J3 home page is-
httpwwwj3-fortranorg
Their list of members (August 2012) is given below
Voting Principals
=================
Daniel Chen IBM Corp
Malcolm Cohen Nihon Numerical Algorithms Group KK
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
103 PL223 69
Robert Corbett Oracle America
William Long Cray Inc
Dan Nagle Chair PL223
Craig E Rasmussen Los Alamos National Laboratory
Van Snyder Jet Propulsion Laboratory
Stan Whitlock Intel Corporation
Voting alternatives
===================
Aleksandar Donev - Craig Rasmussen
Steve Lionel - Stan Whitlock
Kelvin Li - Daniel Chen
Lorri Menard - Stan Whitlock
Toon Moene - Craig Rasmussen
John K Reid - Dan Nagle
Damian Rouson - Craig Rasmussen
C R Schult - William Long
Dr John Wallin - Dan Nagle
Rafik Zurob - Daniel Chen
Their version of the working draft is at-
httpwwwj3-fortranorgdocstandinglinks007pdf
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
70 CHAPTER 10 FORTRAN STANDARD BODIES
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
Chapter 11
Other Web Links
bull Version 12 June 2009 Updated several web links
bull Version 11 September 2008
bull Version 10 January 2006
111 Fortran History
1111 A brief history of FORTRAN-Fortran
httpwwwibiblioorgpublanguagesfortranch1-1html
1112 Computer Languages History (preview)
httpwwwlevenezcomlanghistoryhtml
1113 Computer Languages History
httpwwwlevenezcomlang
1114 Fortran A few historical details
Nolongeravailable
1115 Open Directory - Fortran Tutorials Fortran 90 and 95
httpwwwdmozorgComputersProgrammingLanguagesFortranTutorialsFortran_90_an
1116 Open Directory - Fortran
httpdmozorgComputersProgrammingLanguagesFortran
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
72 CHAPTER 11 OTHER WEB LINKS
1117 The Fortran (not the foresight) saga
httpwwwfortranpluscoukresourcesbrian_meeks_fortran_sagapdf
112 Computer Arithmetic
1121 What every computer scientist should know aboutfloating point arithmetic
httpwwwvalidlabcomgoldbergpaperpdf
1122 IEEE 754r - Wikipedia the free encyclopedia
httpenwikipediaorgwikiIEEE_754r
1123 IEEE 754 Standard for Binary Floating-Point Arith-metic
httpgrouperieeeorggroups754
1124 IEEE Standard 754 Floating-Point
httpstevehollaschcomcgindexcodingieeefloathtml
1125 William Kahan
httpwwwcsberkeleyedu~wkahan
1126 IEEE 754 floating-point test software
httpwwwmathutahedu~beebesoftwareieee
1127 Interval FAQ from Alejandro Casares ndash What ma-chines support IEEE 754
httpwwwmscsmuedu~georgecIFAQcasares1html
1128 Decimal Arithmetic - FAQ 1
httpwww2hursleyibmcomdecimaldecifaq1htmlemphasis
1129 General Decimal Arithmetic
httpwww2hursleyibmcomdecimal
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-
113 PROGRAMMING 73
113 Programming
1131 Calling FORTAN and C from Java
httpwwwcsharpcomjavacforthtml
1132 CS 267 Applications of Parallel Computers
httpwwwcsberkeleyedu~yozocs267sp05
1133 Hillsidenet - Design Patterns Book - DP Book
httphillsidenetpatternsDPBookDPBookhtml
1134 Hillsidenet - Design Patterns Book - Source
httphillsidenetpatternsDPBookSourcehtml
1135 Home page of Les Hatton
httpwwwleshattonorg
1136 Parallel Programming - Basic Theory For The Un-wary
httpusersactcomcoil~choolupgtutorialsparallel-programming-theoryparallel-
1137 Putting a Java Interface on your C C++ or FortranCode
httpwwwmathuclaedu~andersonJAVAclassJavaInterfaceJavaInterfacehtml
1138 Teach Yourself Programming in Ten Years
httpwwwnorvigcom21-dayshtml
- Books
-
- Fortran 2003 and 2008 - English
- Fortran 95 - English
- Fortran 90 - English
- English books on related topics
- Chinese
- Dutch
- Finnish
- French
- German
- Italian
- Japanese
- Russian
- Swedish
-
- Compilers
-
- Introduction
- Absoft
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- g95
- Hewlett Packard
- IBM
- Intel
- LaheyFujitsu
- NAG
- NEC
- Oracle - originally Sun
- PathScale
- PGI
- Silverfrost nee Salford Software
- SGI
- Sun - see Oracle
- No longer available
-
- Apogee
- Compaq
- EPC
- NA Software
-
- Fortran aware editors and IDEs
-
- Windows
-
- Absoft Editor (ae)
- CRiSP
- compaq visual fortran 6x
- editeur
- emacsxemacs - stand alone
- emacsxemacs - cygwin components
- gvimvim - stand alone
- gvimvim - cygwin component
- jed wjed (Windows)
- lahey ed
- microsoft visual studio 6
- Microsoft Visual StudioNET
- nedit - cygwin
- ntemacs
- photran
- salford plato
- Oracle Solaris Studio Express
- UltraEdit
- xemacsemacs - stand alone
- xemacsemacs - cygwin components
- Zeus ide
-
- LinuxUnix
-
- CRiSP
- emacsxemacs
- jed xjed (Unix(all flavours)OpenVMS) wjed (Windows)
- nedit
- photran
-
- Apple OS X
-
- Absoft Editor
- BBEdit
- emacsxemacs
- Photran
- Smultron
- TextMate
- TextWrangler
- Vim
- Xcode
- xemacsemacs
-
- Commercial Courses
-
- Ian Chivers and Jane Sleightholme
- Cranfield University
- The Fortran Company
- Hector
- Lahey
- Michael Metcalf
- Nihon NAG Numerical Algorithms Group Japan
- PTR Associates
- Purple Sage Computing Solutions Inc
- John Reid
- France
- Japan
-
- Nihon NAG Numerical Algorithms Group Japan
-
- On Line Training Material
-
- CERN
- Paul Dubois
- Linkoping University
- Liverpool University
- French
-
- Graphics and Windows Programming
-
- Introduction
- dislin
-
- Worked examples
-
- gino
-
- Documentation
- Worked examples
-
- ginomenu
-
- Documentation
-
- interacter
-
- Documentation
- Worked examples
-
- opengl
-
- Documentation
- Worked examples
- Documentation
- Worked examples
-
- realwin
-
- Documentation
- Worked examples
-
- toolmaster
-
- Documentation
- Worked examples
-
- winteracter
-
- Documentation
- Worked examples
-
- Microsoft Windows graphics programming
-
- LaheyFujitsu
- Salford Software
-
- Parallel Programming
-
- Introduction
-
- Books
-
- Automatic
- Coarray Fortran
- HPF
- MPI
-
- Books
- Courses
- Requirements
-
- OpenMP
-
- Books
- Courses
- Resources
- Requirements
-
- Posix Threads
- Notes on the table below
- Table of compilers and supported parallel options
- Parallelisation Tools
-
- Crescent Bay Software
- Parallel Software Products
-
- Fortran Software Tools
-
- Refactoring
- Convert
- Forcheck
- FOR_STRUCT
- FOR_STUDY
- Fortran90-lint
- NAGWare Fortran Tools
- photran
- plusFORT
- VAST77to90
-
- Fortran Electronic Lists
-
- comp-fortran-90
- complangfortran
- Compiler specific
-
- Absoft
- Apogee
- Compaq
- Cray
- Fortran Company
- Fujitsu
- Gnu Fortran 95
- G95
- Hewlett Packard
- IBM
- Intel
- Lahey Fujitsu
- NAG
- NA Software
- NEC
- Pathscale
- PGI
- Salford Software
- SGI
- SUN
-
- Fortran Standard Bodies
-
- Introduction
- WG5
- PL223
-
- Other Web Links
-
- Fortran History
-
- A brief history of FORTRAN-Fortran
- Computer Languages History (preview)
- Computer Languages History
- Fortran A few historical details
- Open Directory - Fortran Tutorials Fortran 90 and 95
- Open Directory - Fortran
- The Fortran (not the foresight) saga
-
- Computer Arithmetic
-
- What every computer scientist should know about floating point arithmetic
- IEEE 754r - Wikipedia the free encyclopedia
- IEEE 754 Standard for Binary Floating-Point Arithmetic
- IEEE Standard 754 Floating-Point
- William Kahan
- IEEE 754 floating-point test software
- Interval FAQ from Alejandro Casares ndash What machines support IEEE 754
- Decimal Arithmetic - FAQ 1
- General Decimal Arithmetic
-
- Programming
-
- Calling FORTAN and C from Java
- CS 267 Applications of Parallel Computers
- Hillsidenet - Design Patterns Book - DP Book
- Hillsidenet - Design Patterns Book - Source
- Home page of Les Hatton
- Parallel Programming - Basic Theory For The Unwary
- Putting a Java Interface on your C C++ or Fortran Code
- Teach Yourself Programming in Ten Years
-