From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,5f39173193c39af X-Google-Attributes: gid103376,public X-Google-Thread: 1094ba,a97c18c9ff9b447 X-Google-Attributes: gid1094ba,public From: William Clodius Subject: Re: Objects in Fortran 2000 Date: 1997/03/23 Message-ID: <33357540.167E@lanl.gov>#1/1 X-Deja-AN: 227763142 References: <01bc280b$32c42d40$dac32299@default> <5fmemp$bgo@fg70.rz.uni-karlsruhe.de> <5gs6ub$kb3@netline-fddi.jpl.nasa.gov> Organization: Los Alamos National Lab Newsgroups: comp.lang.fortran,comp.lang.ada Date: 1997-03-23T00:00:00+00:00 List-Id: Robert Dewar wrote: > > Bob Duff said > < about parallel "for all" sorts of loops? Anyway, if you have multiple > parallel threads of control raising exceptions, you can wait until they > are all synchronized in some way, and then raise a single exception -- > for example, the way Ada deals with exceptions during task activation by > raising Program_Error. (For normal exceptions raised by tasks, not > during activation, Ada says the exception is ignored. I think that's a > bad thing.) In Ada, if an exception is raised during a rendezvous, both > tasks get the exception.>. > > Fortran 90 has a SIMD model for fine grained parallelism, so the idea > of waiting or multiple threads is off base. Really the problem is mor > related to the issue of exceptions and optimization in Ada (so 11.6 > is the place to look for ideas). Fortran 95's Forall and Where constructs allow a MIMD model for fine grained parallelism that provides for little if any direct communication or cooperation between procedures executing in parallel. The closest approximation to thread synchronization would be the end of Forall and Where constructs. Fortran 95 also does not explicitly have a tasking model or any of means of directly indicating that a procedure will be executed in parallel, although the PURE and ELEMENTAL procedure attributes are suggestive that they might be used in parallel. As a result the proposed exception handling model did not make any useful distinctions as to whether exceptions could be raised during parallel vs. non-parallel execution. For an understanding of Fortran 200X's planned floating point exception handling capability, I suggest an examination of SC22WG5's report N1274 available at ftp://ftp.ncsa.uiuc.edu/sc22wg5/ftp.nag.co.uk/LATEST-DOCS/ For an understanding of the best effort at a more general exception handling proposal for Fortran I suggest an examination of SC22WG5's report N1257 available at the same location. -- William B. Clodius Phone: (505)-665-9370 Los Alamos Nat. Lab., NIS-2 FAX: (505)-667-3815 PO Box 1663, MS-C323 Group office: (505)-667-5776 Los Alamos, NM 87545 Email: wclodius@lanl.gov