This document looks at compiler support for the most recent Fortran standards. It is a successor to a previous document that looked at support for earlier standards. As most actively developed compilers now fully support the Fortran 2003 standard (with some minor exceptions) our starting point is the Fortran 2008 standard.
{"title":"Compiler Support for the Fortran 2008 and 2018 Standards","authors":"I. Chivers, J. Sleightholme","doi":"10.1145/3432987.3432991","DOIUrl":"https://doi.org/10.1145/3432987.3432991","url":null,"abstract":"This document looks at compiler support for the most recent Fortran standards. It is a successor to a previous document that looked at support for earlier standards. As most actively developed compilers now fully support the Fortran 2003 standard (with some minor exceptions) our starting point is the Fortran 2008 standard.","PeriodicalId":379614,"journal":{"name":"ACM SIGPLAN Fortran Forum","volume":"55 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-02-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114950792","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
This version has been updated with details of the Intel 19.1 release and the Nag 7.0 release.
该版本已经更新了英特尔19.1版本和Nag 7.0版本的详细信息。
{"title":"The diagnostic capability of the Cray, gfortran, Intel, Nag and Oracle Fortran compilers","authors":"I. Chivers","doi":"10.1145/3432987.3432990","DOIUrl":"https://doi.org/10.1145/3432987.3432990","url":null,"abstract":"This version has been updated with details of the Intel 19.1 release and the Nag 7.0 release.","PeriodicalId":379614,"journal":{"name":"ACM SIGPLAN Fortran Forum","volume":"35 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-03-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130142083","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Generic programming holds the promise of reducing the amount of code that needs to be written and maintained: rather than copying source code and adapting it for a new data type you simply let the compiler do that tedious job. Templates as featured in C++ are an exemple par excellence of generic programming. From the point of view of the programmer/user they are very easy to use:
{"title":"Experimenting with generic programming features","authors":"A. Markus","doi":"10.1145/3374905.3374908","DOIUrl":"https://doi.org/10.1145/3374905.3374908","url":null,"abstract":"Generic programming holds the promise of reducing the amount of code that needs to be written and maintained: rather than copying source code and adapting it for a new data type you simply let the compiler do that tedious job. Templates as featured in C++ are an exemple par excellence of generic programming. From the point of view of the programmer/user they are very easy to use:","PeriodicalId":379614,"journal":{"name":"ACM SIGPLAN Fortran Forum","volume":"33 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134226137","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
We use several compilers for the development of the examples in our books. The following table summarises the compilers we have used:
我们使用几个编译器来开发书中的示例。下表总结了我们使用过的编译器:
{"title":"The diagnostic capability of the Cray, gfortran, Intel, Nag and Oracle Fortran compilers","authors":"I. Chivers, J. Sleightholme","doi":"10.1145/3374905.3374907","DOIUrl":"https://doi.org/10.1145/3374905.3374907","url":null,"abstract":"We use several compilers for the development of the examples in our books. The following table summarises the compilers we have used:","PeriodicalId":379614,"journal":{"name":"ACM SIGPLAN Fortran Forum","volume":"117 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121900365","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Compiler Support for the Fortran 2003, 2008, TS29113, and 2018 Standards Revision 26","authors":"I. Chivers, J. Sleightholme","doi":"10.1145/3345502.3345505","DOIUrl":"https://doi.org/10.1145/3345502.3345505","url":null,"abstract":"This is a repeating article in Fortran Forum. The first version appeared in Fortran Forum in April 2007. It has been revised on a regular basis since.","PeriodicalId":379614,"journal":{"name":"ACM SIGPLAN Fortran Forum","volume":"56 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130218274","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Questions often arise that relate to the history of Fortran and to the development of its various standards: "why was feature x included/excluded?" "which statement was in which standard?" "was there a conspiracy to do this, that or the other?" etc. Answers to all these questions and more can be found in the literature. I have assembled a short list of books, journals and Web links that should be relatively easy to find or obtain in a good academic library, in the hope that it can be of service to such enquirers.
{"title":"History of Fortran","authors":"M. Metcalf","doi":"10.1145/3345502.3345504","DOIUrl":"https://doi.org/10.1145/3345502.3345504","url":null,"abstract":"Questions often arise that relate to the history of Fortran and to the development of its various standards: \"why was feature x included/excluded?\" \"which statement was in which standard?\" \"was there a conspiracy to do this, that or the other?\" etc. Answers to all these questions and more can be found in the literature. I have assembled a short list of books, journals and Web links that should be relatively easy to find or obtain in a good academic library, in the hope that it can be of service to such enquirers.","PeriodicalId":379614,"journal":{"name":"ACM SIGPLAN Fortran Forum","volume":"82 2","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120872788","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
This is a repeating article in Fortran Forum. The first version appeared in Fortran Forum in April 2007. It has been revised on a regular basis since. The 25th revision has updated all references to WG5 documents which used to reside on an ftp server at Nag (https://www.nag.co.uk/) to point to the new server maintained by Steve Lionel, the current WG5 convenor. The home address for WG5 is: https://wg5-fortran.org/
{"title":"Compiler Support for the Fortran 2003, 2008, TS29113, and 2018 Standards Revision 25","authors":"I. Chivers, J. Sleightholme","doi":"10.1145/3308967.3308969","DOIUrl":"https://doi.org/10.1145/3308967.3308969","url":null,"abstract":"This is a repeating article in Fortran Forum. The first version appeared in Fortran Forum in April 2007. It has been revised on a regular basis since. The 25th revision has updated all references to WG5 documents which used to reside on an ftp server at Nag (https://www.nag.co.uk/) to point to the new server maintained by Steve Lionel, the current WG5 convenor. The home address for WG5 is: https://wg5-fortran.org/","PeriodicalId":379614,"journal":{"name":"ACM SIGPLAN Fortran Forum","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-01-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128714342","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
This is a repeating article in Fortran Forum. The first version appeared in Fortran Forum in April 2007. The basis for the entries in the original list of features was a report by John Reid. An electronic version can be found at: ftp://ftp.nag.co.uk/sc22wg5/N1601-N1650/N1648.pdf If you are a compiler vendor and would like to be included in future versions of this table please email one of us with details and they will be added to the table and published in Fortran Forum.
{"title":"Compiler Support for the Fortran 2003, 2008, TS29113, and 2018 Standards Revision 24","authors":"I. Chivers, J. Sleightholme","doi":"10.1145/3266145.3266148","DOIUrl":"https://doi.org/10.1145/3266145.3266148","url":null,"abstract":"This is a repeating article in Fortran Forum. The first version appeared in Fortran Forum in April 2007. The basis for the entries in the original list of features was a report by John Reid. An electronic version can be found at: ftp://ftp.nag.co.uk/sc22wg5/N1601-N1650/N1648.pdf \u0000 If you are a compiler vendor and would like to be included in future versions of this table please email one of us with details and they will be added to the table and published in Fortran Forum.","PeriodicalId":379614,"journal":{"name":"ACM SIGPLAN Fortran Forum","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-08-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122168750","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
There was a reunion of the J3/WG5 Fortran old timers, the "geezers", on June 9th and 10th; just before the joint J3/WG5 meeting in Oakland CA. 25 people attended parts of the reunion. 18 were old enough to be true Fortran geezers; many joined the committee back in the 70s. Another 3 or 4 qualified by age to be a geezer, but are still too active on J3/WG5 to be a real old geezer. The remaining 3 or 4 are way to young to be geezers and just dropped by to visit with former colleagues or make new friends.
{"title":"Fortran Geezers","authors":"Dick Hendrikson","doi":"10.1145/3266145.3266146","DOIUrl":"https://doi.org/10.1145/3266145.3266146","url":null,"abstract":"There was a reunion of the J3/WG5 Fortran old timers, the \"geezers\", on June 9th and 10th; just before the joint J3/WG5 meeting in Oakland CA. 25 people attended parts of the reunion. 18 were old enough to be true Fortran geezers; many joined the committee back in the 70s. Another 3 or 4 qualified by age to be a geezer, but are still too active on J3/WG5 to be a real old geezer. The remaining 3 or 4 are way to young to be geezers and just dropped by to visit with former colleagues or make new friends.","PeriodicalId":379614,"journal":{"name":"ACM SIGPLAN Fortran Forum","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-08-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116118893","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Large, high-performance programs are often written in Fortran. Modern Fortran supports interoperability with C, which is beneficial because many useful libraries expose a C language interface. However, manually preparing the Fortran interfaces for each routine in a substantial C library to properly link a Fortran program can be time consuming. The h2m-AutoFortran tool can greatly simplify this process by harnessing the power of the Clang Compiler's abstract syntax tree to analyse C header files and translate them into corresponding interoperable Fortran modules. The resulting module may then be compiled and used in the Fortran program, providing correct access to procedures and data in the library.
{"title":"The h2m-AutoFortran tool for facilitating C-Fortran interoperability","authors":"M. Anderson, Sisi Garnet Liu, D. Nagle","doi":"10.1145/3266145.3266147","DOIUrl":"https://doi.org/10.1145/3266145.3266147","url":null,"abstract":"Large, high-performance programs are often written in Fortran. Modern Fortran supports interoperability with C, which is beneficial because many useful libraries expose a C language interface. However, manually preparing the Fortran interfaces for each routine in a substantial C library to properly link a Fortran program can be time consuming. The h2m-AutoFortran tool can greatly simplify this process by harnessing the power of the Clang Compiler's abstract syntax tree to analyse C header files and translate them into corresponding interoperable Fortran modules. The resulting module may then be compiled and used in the Fortran program, providing correct access to procedures and data in the library.","PeriodicalId":379614,"journal":{"name":"ACM SIGPLAN Fortran Forum","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-08-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132141343","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}