[Pl-seminar] Semantics Seminar Schedule
Mitchell Wand
wand at ccs.neu.edu
Fri Apr 15 00:05:01 EDT 2005
NU Programming Languages Seminar
Wednesday, April 20, 2005
11:45-1:15
Room 366 WVH (http://www.ccs.neu.edu/home/wand/directions.html)
Gene Cooperman
TOP-C, Aspects, and a Vision of Semi-Automatic Parallelism
This will be an informal talk discussing some of the background of high
performance computing, and where there _ought_ to be some opportunities
for aspects. A grand vision for parallel computing is semi-automatic
parallelism. In this vision, one writes a sequential program (or takes
a pre-existing program), adds a small number of high-level annotations
(comments), and then transforms the program to a parallel program.
Such transformations can be handled by compileres, by preprocessors,
by transformation programs (such as CIL), or by aspects. Such strategies are
required for a variety of transformations. Some examples are:
1) transformation of 'for' and 'while' loops to the trivial loop parallelism;
2) transformation of complex data structures to stub functions for
marshalling those data structures;
3) transformation of recursive programs to invoke parallelism (see,
for example, the Cilk package for parallelism using 'spawn' and 'sync');
4) insertion of synchronization for the shared memory version of TOP-C; and
5) insertion of checkpointing code transparently to the application writer.
TOP-C (Task Oriented Parallel C/C++) is a parallel package providing a
compiler script that links a TOP-C application to a run-time library.
TOP-C supports a single API that can link with run-time libraries both
for distributed and shared memory computation. It has been used, for
example, to parallelize Geant4, a million line C++ program used to
design experiments for the largest collider in the world, at CERN.
Upcoming Events:
volunteers needed!
--Mitch
More information about the pl-seminar
mailing list