(j3.2006) Fwd: (SC22WG14.12599) C++ liaison, concurrency extensions

Rasmussen, Craig E rasmussn
Fri Feb 10 11:53:20 EST 2012

I've made a couple of presentations to J3 on possible concurrency extensions for Fortran.  These extensions are now in our parser and we working on a scientific paper examining the efficacy of these extensions.

I'm passing along papers on this subject from a C++ standards meeting.


Begin forwarded message:

From: Thomas Plum <tplum at plumhall.com<mailto:tplum at plumhall.com>>
Date: February 9, 2012 4:41:55 PM MST
To: <sc22wg14 at open-std.org<mailto:sc22wg14 at open-std.org>>
Subject: (SC22WG14.12599) C++ liaison, concurrency extensions

There have been several proposals for easier-to-use concurrency
extensions here at the C++ meeting.  If you go to the WG14 wiki at
http://www.open-std.org/twiki/bin/view/WG14 , click Documents, and sort
by Date, there are 6 papers added on 02-09.  We will describe these
topics in more detail under Liaison (C++) during the WG14 meeting.  Here
is a brief overview (and please refer to the papers for details):

[1] N3361-Parallelism_Talk.pdf
   [same content in Parallelism_for_C.pptx]

An overview of Intel(r) Cilk(tm) Plus
- Task-parallel features
- cilk_spawn, cilk_sync and cilk_for keywords
- hyperobjects
- Data-parallel features
- array notation
- elemental functions
- pragma simd

[2] transactional-language-constructs-specification.pdf
   [summarized in transactional-language-constructs.pptx]

Transactions are composable
__transaction { void foo() {         void bar() {
foo();                     __transaction {       __transaction {
bar();                       /* ...*/                /* ... */
}                          }                     }
                       }                    }

[3] WG21_Presentation_Kona_Gustafsson.pdf
[same content in WG21_Presentation_Kona.pptx]

* Add two new features to the C++ language:

- Resumable functions
 Multi-phase functions, identified at declaration:
future<int> f(stream str) resumable;

- Resumption points
 Unary operator, only available in resumable functions,
       waiting for a promised value to become available:
     int count = await str.read(512, buf);

Thomas Plum, Plum Hall Inc, 3 Waihona Box 44610, Kamuela HI 96743 USA
tplum at plumhall.com<mailto:tplum at plumhall.com> .......... TEL +1-808-882-1255 FAX +1-808-882-1556
http://www.PlumHall.com ..... TOLLFREE +1-800-PLUM-HALL (800-758-6425)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://j3-fortran.org/pipermail/j3/attachments/20120210/38ea619c/attachment.html>

More information about the J3 mailing list