fortran resources

73
Fortran Resources 1 Ian D Chivers Jane Sleightholme August 31, 2012 1 The original basis for this document was Mike Metcalf’s 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.

Upload: taac117

Post on 30-Oct-2014

55 views

Category:

Documents


2 download

DESCRIPTION

Fortran Resources [2012]

TRANSCRIPT

Page 1: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 2: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 3: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 4: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 5: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 6: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 7: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 8: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 9: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 10: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 11: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 12: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 13: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 14: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 15: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 16: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 17: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 18: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 19: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 20: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 21: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 22: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 23: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 24: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 25: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 26: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 27: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 28: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 29: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 30: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 31: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 32: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 33: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 34: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 35: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 36: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 37: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 38: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 39: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 40: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 41: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 42: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 43: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 44: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 45: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 46: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 47: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 48: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 49: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 50: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 51: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 52: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 53: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 54: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 55: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 56: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 57: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 58: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 59: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 60: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 61: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 62: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 63: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 64: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 65: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 66: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 67: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 68: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 69: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 70: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 71: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 72: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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
Page 73: Fortran Resources

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
                                                                                                            • LinkedIn
                                                                                                            • 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