Minutes of the Meeting of BCS Fortran Specialist Group held at

                          IBM Southbank, 26th November 1992


Present:       Mike Nunn          CCTA

               Miles Ellis        Oxford University

               Roger Keeling      Salford Software

               Nick Saville       ASE Ltd

               Chris Little       Met Office

               Mike Geary         NAG Ltd

               Carol Hewlett      LSE

               Chris Lazou        HiPerCom Consultants

               Rick Hewett        Seismograph service

               John Young         PE - MOD (afternoon)

               Peter Mayes        IBM



1.      WELCOME TO MEETING


The Chairman, Chris Lazou, welcomed everyone to the meeting and

thanked IBM for their generosity in providing the group with a

meeting place and coffee.


2.      APOLOGIES FOR ABSENCE


The following sent their apologies:


Tim Bartle and Dave Vallance, Salford, Ben Roston, IBM, David

Muxworthy, Edinburgh, Ted Golton, Rutherford, Peter Holland,

SSL, Lawrie Schonfelder, Liverpool, John Young for morning.


3.      MINUTES OF THE MEETING OF 3.9.92.


The minutes were accepted as a true record without any

corrections required.


4.      MATTERS ARISING


4.1     Miles Ellis reported that an agreement with ISO allows

        the acquisition of an electronic version of the Fortran 90

        standard for £10 per copy plus a small fixed charge. This

        is much cheaper than the £160 per hard copy from BSI.

        Chris Lazou has expressed disquiet to a BSI member of

        staff on the probity of charging such a high price for the

        F90 standard.


Action:        Miles to supply details of how to obtain F90

               standard in the Fortran Newsletter.  [see appendix]


4.2     It was reported that ANSI has approved the Fortran 90

        Standard.The question of F90 certification was raised by H

        Mike Nunn.  No specific proposal was identified as yet


5.      REPORT FROM X3J3 REPRESENTATIVE - Miles Ellis


X3J3 are working hard processing all requests for

interpretations and developing a document (S20) which will

regularly be passed to WG5 for approval and publication.  There

have been 118 errors discovered, 33 replies approved, 45 have

gone to ballot and 40 are under consideration. S20 contains

corrections and clarifications.


The formal task to revise the F90 standard was assigned to X3J3

and is to be handled as an I-Project under ISO rules. The next

version is planned for 1995 and is expected to contain mainly

clarifications and corrections. No new functionality is

envisaged until the year 2000. Specification for the year 2000

revision is required by 1995. Feature specifications from

National bodies are expected to be ready by the end of 1993.


X3J3 is tracking some of the parallel activities of ad hoc

groups which concern Fortran. These include X3H5, HPFF, an

Object Oriented group and a POSIX interface group.


The membership of X3J3 has contracted from 45 to 31 at present.

Jeanne Adams has stepped down as chair and was replaced by Jerry

Wagener. No secretary has been identified as yet. The UK

representation is dwindling, and Miles may not be able to

attend in future. Geoff Millard, EPC is the only other UK

representative we are aware of.

[Click here for a more detailed report]


6.      FUTURE WORK DIRECTIONS OF BCS FSG.


6.1     C. Lazou commented that the discussion paper from M.

        Ellis was a bit alarmist in presenting an "either" "or"

        choice for the future of the group.


6.2     M. Ellis pointed out that he was attempting to prompt a

        frank discussion of the issues which the group needs to

        address if it is to remain relevant. He then read a letter

        from D. Muxworthy who wants the group to continue, but he

        finds it increasingly difficult to justify travel costs.


The meeting moved to discuss the main issues.


C. Little expressed his interests and thinks that FSG can be of

help in evaluating (quality) of F90 compilers as they arrive on

the market.


N. Saville is interested, as a user, in keeping tabs on whether

F90 will "fly" and whether Universities will teach it.


The strategic objectives items in Miles paper were individually

discussed. These objectives were considered admirable and Miles

was thanked for putting them down on paper, but the debate was

on whether they were feasible. Item 3 was considered impossible

to achieve with our present resources.


C. Lazou has distributed a Fortran and C questionnaire as used

at a recent conference. It was agreed that this should be

distributed to all FSG members with these minutes.


A new Fortran Magazine:


C. Lazou reported that, he had informal discussions with

publishers, and they consider a minimum of 1000 subscriptions

are required for any magazine to be commercially viable. Miles

responded. that what he had in mind was something much more

informal and consequently cheaper to produce.


Action:  Miles to develop proposal with costs quantified. Any

         suggestions by members should be send to Miles.


C. Hewlett suggested using the BCS membership list to publicise

the FSG's activities.


Action:  C. Lazou to investigate


7.      BCS AND ANY OTHER BUSINESS


C. Lazou reported on the Specialist Groups Management Committee

meeting, 16th September.


        i) Concern was expressed that branches motion requiring

        BCS to allocate 10% of funds to branches may undermine the

        authority of Council to decide fiscal policy. The motion

        was defeated at the subsequent AGM.


        ii) 7 Mansfield Mews is available for BCS meetings during

        daytime.


Temporary secretarial help


The meeting agreed to pay expenses for M. Ellis's secretary, to

attend the next two FSG meetings, so she can take and type the

minutes. The position will be reviewed at the AGM with the hope

that a secretary can be found to fill the vacant post.


The meeting adjourned for lunch.


IBM Fortran - A presentation by Peter Mayes, IBM.


In the afternoon Peter Mayes gave a presentation on IBM's

Fortran Developments. He reviewed the current status of Fortran

within IBM from his knowledge as a user and not as a compiler

developer and reminded the meeting that he was unable to talk

about unannounced products.


The main good news is that IBM is committed to implement F90.

IBM is active in HPF, but has not yet announced its position.

Their current Fortran xlf 2.3 (for RS/6000) contains full F77

plus IBM Industry extensions and significant F90 functionality.

It is available with various options: as a standard compiler

with optimization, a compiler plus VAST, or a compiler plus KAP

(Kuck Associates). It has a common back-end shared with C, C++,

Pascal and TOBEY, (Toronto Optimizing Back-End Yorktown).



The F90 features available are:

-        Derived Types (partial compliance)

-        Interface Blocks (partial compliance)

-        Internal procedures (partial compliance)

-        CASE construct

-        Infinite IF and DO statements

-        DO WHILE, END DO statements

-        named END statements

-        Array Language syntax (via the preprocessors)


The F90 features not available (Nov, 1992) are:


-        Array language syntax in the compiler

-        Fortran 90 pointers

-        Modules and USE statement

-        Defined operators

-        Recursive keyword, RESULT clause

-        OPTIONAL arguments

-        INTENT attribute

-        Fortran 90 free source form

-        Attribute-oriented specification statements

-        PUBLIC/PRIVATE attributes

-        ALLOCATABLE arrays

-        Array-valued functions

-        Deferred-shape and assumed-shape arrays


Industry standard extensions include:


-        STRUCTURE, RECORD, UNION and MAP statements (via the

         preprocessors).

-        FORMAT expressions

-        VIRTUAL and VOLATILE statements

-        Additional intrinsic fns in PARAMETER statements

-        Trigonometric fns in degrees

-        Many new service and utility procedures


VS Fortran 2.5 is supported on MVS, VM and AIX on ES/3090,

ES/9000 and Vector Facility. It supports F77 with industry

extensions. The IBM extensions are largely for mainframe I/O.

It also contains the following features for "Parallel Fortran":


-        Automatically parallel DO loops

-        Explicitly coded parallel loops and sections

-        Synchronization subroutines

-        Directives for parallelism

-        I/O within parallel programs

-        Subroutine calls within parallel loops and sections


Programming tools include:


-        SDE/Workbench 6000

-        LPEX: live parsing editor and,

-        tprof: Source code statement level profiling


In summary IBM is committed to Fortran 90 and to standards in

general. IBM is represented on 1200 standards committees.


Fortran and C/C++ in Scientific Computing


Chris Lazou reported on the Fortran and C/C++ in Scientific

Computing, UNICOM Seminar held at Brunel University and

sponsored by FSG. This 3 day seminar was very successful in

addressing the latest issues of both Fortran and C/C++.


He then gave a short presentation on the status of HPF and

Vienna Parallel Fortran 90.


The key decision of HPF is to define a two level standard: a

subset for current compilers and a full set with F90 as the

base language. The HPF constructs include CHPF$ starting in

column one, making them advisory comments to the compiler and

not as part of the language syntax. This device of using pseudo

syntax circumvents conflicts with the existing F90 standard.


Vienna Fortran on the other hand provides genuine syntax

extensions to handle parallel data distribution, decomposition,

alignment and mapping onto processors with distributed memory.

This approach has a lot of merit as an experimental technique

to verify the usefulness and efficiency of various language

constructs but it is unlikely to be adopted at this stage. It

is too risky to opt for new unproven language feature so early

in the F90 life-cycle.


The aim is to have an HPF Parallel Fortran definition accepted

by most vendors, early spring 1993 and implementations by end

of 1993. The motivation for HPF is for the provision of Data

Parallel support within Fortran and an agreed standard

programming model to facilitate the efficient use of parallel

computers with distributed memory architectures.


It was noted that future parallel computers may overcome the

distributed memory problem by using hardware (more silicon for

memory path communications), as in the Virtual Memory Systems

pioneered by Kendal Square.


N. Saville enquired whether there was an HPF equivalent

activity for the C language. The answer was no, but some of

these concepts are addressed by the "Numeric C" standardization

effort.


The meeting closed at 16.30. The next meeting is to be held at

7 Mansfield Mews, (the back of 13 Mansfield street), on 25th

February 1993.


In the absence of a secretary these minutes were generated by

Chris Lazou from notes taken by Mike Nunn. Many thanks to Mike

for his support.


Chris Lazou

16.12.1992.



[The following report was distributed with the minutes of the FSG meeting of 26 November 1992.]


                   Report on X3J3 meeting 123, 1992 Nov 9-13 (New Haven, CT)


Miles Ellis attended this meeting and the following report is based on extracts from the

reports circulated on email by Len Moss (SLAC) and Jerry Wagener (Amoco, and Chairman

of X3J3), with modifications and/ or additions to reflect his view of what happened!

The principal objectives of this meeting were to (1) process as many of the interpretation

issues as possible, (2) generate a preliminary review of HPF, and (3) refine the X3J3

reorganization plan. Good progress was made on all three of these objectives.


Interpretation Processing


The procedure already agreed requires X3J3 to produce an agreed response to every request

for interpretation, and to agree this at one of its meetings by a two-thirds vote. Following

the meeting, first X3J3 and then WG5 will conduct letter ballots to approve the responses for

submission as official technical corrigenda to Fortran 90.


At the start of the meeting there were approximately 95 outstanding issues. These included

old unresolved issues and S20 items not yet at the balloting stage as well as new RFIs, but

not the 58 items on the S20 ballot. During the meeting all the "unresolved issues" were either

resolved or recast into S20 items. At the end of the meeting there were a total of 118 S20

items, of which


        33 were "X3J3 approved; ready for WG5"

        45 were "X3J3 draft response" and ready for X3J3 ballot

        40 were still at "X3J3 consideration in progress"


Those of the 45 that pass the X3J3 ballot (which took place in December/January) will be

added to the 33 already ready for WG5. The WG5 ballot will take place around March.


The request for interpretation in 92-202r raised an issue of strategy for improving the

understandability of the standard. This paper pointed out a number of inconsistencies in the

use of the terms "attributes", "properties", and "characteristics", and proposed a set of about

40, mostly minor, edits to fix the problem. A number of members felt that attacking such

problems via the technical corrigenda process was not an efficient use of committee resources.

Instead, they felt that the corrigenda should provide minimal fixes for specific problems, and

more complete rewrites should be deferred to the 1995-96 revision. After some discussion, the

full committee took a straw vote on this specific proposal; the result was not conclusive, but

favoured pursuing the approach outlined in 92-202r: SV (11-8-5). Subsequently, members of

the DATA subgroup worked on this proposal and came up with some suggested changes and

additions but these have not yet been reviewed either by the subgroup or by the full

committee.


High Performance Fortran (HPF)


HPF is being developed by a group called the HPF Forum (HPFF) as an industry standard

for massively parallel machines with distributed memory architectures. It is complementary

to the parallel computing work being done by X3H5, which is independent of memory or

data layout issues, and instead concentrates on block-structured parallel control structures.


HPF is based on a subset of Fortran 90, with a number of directives to control the way data

is laid out in memory. The directives are in the form of comments and can simply be ignored

by a non-HPF compiler without changing the meaning of the program. However, the latest

draft now includes one feature which goes beyond Fortran 90, namely, a FORALL statement.

Despite this incompatibility, the sense of X3J3 was that FORALL was a useful extension for

parallel machines. In a straw vote, the committee also reaffirmed its previous endorsement

of the directives approach for data layout.


HPF also includes a number of new functions, and there was some discussion of how the

names of these functions should be managed. Normally, X3J3 would recommend putting all

these functions into a MODULE in order to confine potential name clashes to those scoping

units where the functions are actually needed. However, a few of these functions must be

permitted in initialization and specification expressions, which implies that they need to be

resolved like intrinsic, rather than module, procedures. The committee seemed to be

generally agreed that HPFF should minimize the pollution of the intrinsic function name

space, but was divided on how to do so. Some members felt that, since the module

containing the new functions would be an "intrinsic" component of any HPF compiler (and -

because there was no expectation that the functions it contained would be written in Fortran),

the USE for this module could act as a compiler switch to control the visibility of the new

intrinsics. Others, however, felt that such selectively visible intrinsic functions were not

included in Fortran's blanket permission to add implementation-specific intrinsics (p 2, ll

33-35), and so would constitute a second (along with FORALL) extension to Fortran 90.


A team of three people spent the week as an ad hoc SWAT team to review HPF/V04,

primarily from a "how does it fit with Fortran 90" point of view rather than a technical

functionality point of view. Generally HPF gets high marks on this score, though several

straw votes were taken on suggestions for specific recommendations. It was agreed that this

team would prepare a letter to HPF consistent with this direction, have one final email review

on the X3J3+WG5 network, then send it off to HPF in time for their December meeting. The

main two straw votes taken were (1) "directives vs syntax" (directives won, but the basic form

of the directives should be consistent with the syntax approach) and (2) "an HPF module, or

no, for packaging the HPF intrinsic functions" (an HPF module won, as the best way of

managing the namespace, with the USE HPF statement treated as an appropriate directive for

the HPF subset).


X3J3 Organisation


Following the previous meeting in August 1992, the chair had proposed reorganizing the

committee into a new set of subgroups, so that about half the members would continue to

concentrate on interpretation processing while the remainder would begin work on other

tasks, including the 1995-96 minor revision and liaison with other standards bodies. Because

of the large volume of new interpretation requests submitted between meetings, the

committee agreed to continue for this meeting under its old subgroup structure. However,

the reorganization plan was discussed by the committee and accepted with two modifications:

one additional subgroup will be added to research object-orientation issues for Fortran (this

subgroup will be named X3J3/OOF); and, for the next couple of meetings, subgroup time will

be scheduled in such a way as to permit most members to serve on both the new

X3J3/F90maint subgroup and on one of the other new subgroups. It is also expected that,



for a time at least, X3J3/F90maint will continue to subdivide itself along the same lines as the

old subgroups. Thus, at the next meeting in Fort Lauderdale in February, the committee will

be organized something like this:


Track 1                                        Track 2                                        Track 3


X3J3/F90maint:                        X3J3/JOD                                X3J3/ editorial

        General Concepts            X3J3/OOF

        Data Concepts                  X3J3/parallel

        Control Constructs          X3J3/posix

        and Input/ Output

        Procedures and

        Program Units



(The editorial subgroup will probably meet in parallel with both the other sets of subgroups.)

The new subgroups did meet briefly one afternoon to get organized.


TMRE

29/1/93



                          Electronic version of Fortran 90 Standard


The following announcement was made in late November by Walt Brainerd of Unicomp, as

mentioned by Miles Ellis at the last meeting of the Group:


        In accordance with an official agreement with the International Standards

        Organization, Unicomp is now able to distribute electronic versions of the

        Fortran 90 standard: "ISO/IEC 1539:1991, Information

        technology-Programming languages--Fortran".


        The money received from this effort will go partly to fund ISO activities and

        partly to recover the costs incurred by Unicomp in preparing and typesetting

        the standard document. The prices are set by ISO.


        The document can be obtained in three versions:


        1.      An ASCII version suitable for viewing on a computer terminal using any

                kind of editor. Cost: US$125.


        2.      A PostScript version with a license allowing the purchaser to print n

                paper copies. Cost: US$125 + 10n.


        3       Complete source in ditroff with macros and software to extract and

                create the annexes. The source constitutes a fairly high level marked up

                document; for example, each program beginning and ending is marked

                and there are few low-level typographic commands such as size and font

                changes. Cost US$1000.


        I am quite enthused especially about version (2). If you want to have 10 copies

        for your organization, and it costs $10 to make a printed copy, then the cost to

        make the 10 copies would be $125 + $200, or just $32.50 per copy, which is a

        substantial savings over purchasing paper copies.


        Versions (1) and (3) will be accompanied by a license restricting use to one CPU

        and prohibiting copying, except for backup purposes, etc. The version (2)

        license will prohibit distributing any of the printed copies outside of the

        purchasing organization.


        If you have special requirements, such as wanting to distribute a copy with each

        version of your compiler or using the source as a part of your documentation,

        we can make special arrangements, subject to the approval of the ISO. Please

        advise me of your requirements and we can work up a proposal together.


        ISO and Unicomp think this will provide the often requested access to the

        standard in electronic form. This is the first time this is being tried, so we hope

        that organizations will be careful to observe the rules and encourage the

        continued availability of this and other standards in electronic form.


        Payment can be made by Visa or MasterCard, or with a check on a US Bank in

        US funds. We will accept a purchase order only if the amount is $500 or more.