- 2009 AGM
- Agenda
- Chairman's Report
- Accounts
- SG Dev Fund Report
- Membership Report
- Web Editor's Report
- Minutes
- Presentations
- Discussion
- About us
Fortran Specialist Group
Introduction
The best way to describe the UK position on Fortran 2008 is to examine how it
developed as the language revision itself developed during the last two years.
Technical work on Fortran 2003 was completed in the summer of 2003 and the
standard was published in November 2004. By this time requirements for the revision
of Fortran 2003 were already being collected, experience having shown that a
long latency period is necessary between initial thoughts on content and final
publication. In the UK there was a general invitation for all interested to submit
suggestions; this included a
special requirements
meeting of the Fortran Specialist Group in March 2005. The proposals were
filtered by the BSI panel and
twelve of them, of
which eight were eventually accepted by WG5, were put forward for consideration.
It had been agreed as early as 2002 that Fortran 2008 would be a minor revision, bearing the same relation to its predecessor as Fortran 95 to Fortran 90. Correspondingly in 2004 a tight schedule for the revision was adopted, envisaging selection of content at WG5 meetings in May 2005 and February 2006 and completion of the technical work in the summer of 2008. It was agreed to limit the revision to a single 'large' item which was chosen to be coarrays, "a simple parallel extension of Fortran which assumes the SPMD programming model". A further large item, BITS data type, was allocated second priority and was developed for the draft but was later removed.
Coarrays have turned out to be larger, more contentious and hence requiring more development time than anticipated so that in the summer of 2007 the schedule was eased by ten months.
Implementation of Fortran 2003
For all previous versions of Fortran standards, the standard had been implemented and
been well-used before the revision appeared. This enabled certain types of problem
which came to light only with widespread implementation and use to be corrected in
the subsequent standard. It also enabled programmers to make constructive suggestions
for the language revision. When the above plans were being made it was assumed that
this pattern would again be followed. However Fortran 2003 has proved to be much
larger and more difficult to implement than anticipated. The first compiler to
implement all of the language was not released until December 2008, an unprecedented
five and a half years after completion of development work on the language, and at
the time of writing it remains the only such compiler. Hence there has been little or
no feedback on Fortran 2003 from users at large to guide Fortran 2008
development.
UK position at the WG5 meetings in 2007-2008
By the summer of 2007 the BSI panel was becoming concerned at the situation outlined
above (see for instance the discussion at the
Fortran Specialist
Group meeting of June 2007). Many users were apparently still confused by the
differences between Fortran 77 and Fortran 90/95. Producing another version
so soon could give an impression of instability. Coarrays involved large changes to
the language but would benefit only a minority of users. Fears were also being
expressed that vendors would abandon Fortran development altogether. Therefore the
BSI panel proposed at the WG5 meeting in August 2007 that the
schedule be slipped by
two years to allow both users and vendors to catch up with the standard. It also
suggested that the size of the language be reduced by removal of features,
particularly from the coarray proposals, and that consideration be given to moving
all of the coarray features to a Technical Report. This echoed a phrase, "too
much, too soon", often used in discussions on the draft standard. The proposals
were partially successful in that the schedule was slipped by ten months, some
reductions were made to the coarray features and the BITS data type was removed. The
intelligent macro feature was also removed but this had negligible effect on the size
of the language or on the development time needed. However as it transpired, the
delay in the schedule did not achieve the desired ends. No full implementation of
Fortran 2003 was imminent and the additional development time was largely
absorbed in refining the coarray proposals.
At the next WG5 meeting in February 2008 the UK again proposed moving the coarray features to a Technical Report. After much discussion and a series of votes, described in Fortran Forum and detailed in the WG5 minutes, a UK compromise of having coarrays in an optional part of the standard lost out to the US compromise of reducing the coarray features in the base language and putting the remainder into a new Technical Report.
UK vote on the Committee Draft
Under ISO procedures the ballot on the Committee Draft is the first opportunity at
the ISO (actually JTC1/SC22) level for countries' standards organizations, as
distinct from those working in WG5, to comment formally on the revised draft. The
Committee Draft was issued in March 2008 for vote in August. Again a trawl was made
for general public opinion in the UK. There was a disappointingly low, if nonzero,
response. This was not so surprising as the document had 617 pages and most users
still had to come to terms with Fortran 2003, much less Fortran 2008.
Nevertheless WG5 had regularly issued
summaries of all the new
features and particularly
summaries of coarrays;
presentations had been given at conferences and meetings, including those of the
Fortran Specialist Group in
January and
June 2007 and
June 2008.
After discussion at the latter meeting and much consultation by email the panel recommended a 'no' vote to BSI. Members of the panel, reflecting similar differences amongst UK Fortran users, continued to hold disparate views as to the merits of having coarrays in the base Fortran language as opposed to their being in an optional part. Some were very positive, some were largely indifferent and some were resolutely opposed. Moreover, as coarrays were still being actively developed a majority considered it inappropriate to standardize immature features. The UK vote categorized these concerns under six headings:
The UK submission represented the majority view of the panel; unanimity could not be achieved in all cases. The full text of the vote, along with those of other countries, is in WG5-N1740. It was the only negative vote. Overall there were 11 positive votes (largely from countries that had played no part in the development) and three abstentions, including one from Japan, which had played an active role and which vote could be read as a polite form of 'no'.
Processing the Committee Draft votes
The ballot results were processed at the November 2008 meeting of WG5, at which it
became apparent that some major vendors had not even started work on parts of
Fortran 2003. Combined with the strong drive, mainly from those promoting
coarrays, for the standard to be approved as quickly as possible, this made
unachievable the UK aspiration that programmers at large should have had chance to
make significant use of the language before it was superseded. Indeed a decision to
review the schedule was postponed to the following meeting and the response to the
UK's principal comment was, "WG5 could not agree on any significant reduction
in the size of Fortran 2008". The UK suggestion that some of the features
in Fortran 2003 that vendors had found difficult to implement be deemed in the
revision to be optional rather than mandatory, following the precedent set by Cobol,
equally did not find favour.
The UK, supported by Japan, again proposed that coarrays be made optional but lost 3-2 in a country vote.
On the positive side there was no dispute that Fortran should have better facilities to interact with MPI although this was devolved to the Technical Report on Further Interoperability with C rather than feature in the full language and the proposal to extend the G format code was largely accepted. Considerable progress on technical details of coarrays was made at the meeting, responding to two of the UK comments. The full Disposition of Comments document is WG5-N1760.
Final Committee Draft
Under ISO procedures no further technical changes may be made once the Final
Committee Draft has been produced. The original plan was that the FCD be decided at
the May 2009 meeting but in the event further work was done on coarrays and the rate
of change of detail was such that another meeting of J3 was agreed before the
document was frozen; under the
revised schedule it
is to go forward for the ISO FCD ballot in October 2009, with anticipated final
publication of the Standard in August 2010. The informal name is to remain
Fortran 2008. So far as the UK's misgivings were concerned, little had changed
in the previous two years except that improvements had been made to technical details
of the coarray proposals.
Perhaps more worryingly, it became apparent at this meeting that some major vendors had no plans at all to implement parts of Fortran 2003, and hence Fortran 2008, unless purchasers specified those features in a requirement. At the same time, quite reasonably, they were already implementing some of the new features of Fortran 2008 which they believed that their users wanted. Thus Fortran 2008 will be of a different nature to its predecessors prior to Fortran 2003. For some years there will be releases of compilers which have only a subset of Fortran 2008 facilities, the subset being determined by each vendor's customer base, and it is conceivable that some suppliers will never implement all of Fortran 2008. The statement in the Standard's Overview, "The purpose of this part of ISO/IEC 1539 is to promote portability, reliability, maintainability, and efficient execution of Fortran programs for use on a variety of computing systems" will not be as meaningful as it was up to and including Fortran 95.
Given this, what approach should the UK take to the FCD? Should it simply be accepted that the UK, with Japan in agreement for much of the time, has nevertheless failed to convince WG5 of the merits of its case, or should it ignore that and vote according to its true opinions?
Technical Report on Further Interoperability with C
Work on the Technical Report on Further Interoperability with C was initiated in the
summer of 2007 and a
first draft was
introduced at the WG5 meeting in November 2008. However this was so late in the
meeting that there was insufficient time for it to be discussed in any detail. This
prompted a heated email debate throughout the following two months. Thereafter it has
been given low priority and a second draft is not scheduled to appear until December
2009, with eventual formal publication due in March 2011. It is thus too early to
describe any UK position on the TR; the first draft was not highly regarded.
David Muxworthy
BSI Fortran Convenor
1st June 2009
Last modified: Mon 27 Sep 2021 19:46:10