[cfe-dev] parallel C++

Edward Givelberg via cfe-dev cfe-dev at lists.llvm.org
Mon Nov 26 10:31:57 PST 2018


Chris Lattner suggested that I post to this mailing list.

I used Clang/LLVM to build a prototype for parallel
interpretation of C++. It's based on the idea that C++
objects can be constructed remotely, and accessed via
remote pointers, without changing the C++ syntax.
I am a mathematician, not an expert on compilers.
I am proposing changes to the C++ standard and to the
compiler architecture, so I'm very interested to hear from
experts.
My paper is
https://arxiv.org/abs/1811.09303
Best regards,
Ed

-----------------------------------------------------------------
A solution to the problem of parallel programming
E. Givelberg

The problem of parallel programming is the most important
open problem of computer engineering.
We show that object-oriented languages, such as C++,
can be interpreted as parallel programming languages,
and standard sequential programs can be parallelized automatically.
Parallel C++ code is typically more than ten times shorter than
the equivalent C++ code with MPI.
The large reduction in the number of lines of code in parallel C++
is primarily due to the fact that communications instructions,
including packing and unpacking of messages, are automatically
generated in the implementation of object operations.
We believe that implementation and standardization of parallel
object-oriented languages will drastically reduce the cost of
parallel programming.
his work provides the foundation for building a new computer
architecture, the multiprocessor computer, including
an object-oriented operating system and more energy-efficient,
and easily programmable, parallel hardware architecture.
The key software component of this architecture is a compiler
for object-oriented languages.  We describe a novel compiler
architecture with a dedicated back end for the interconnect fabric,
making the network a part of a multiprocessor computer,
rather than a collection of pipes between processor nodes.
Such a compiler exposes the network hardware features
to the application, analyzes its network utilization, optimizes the
application as a whole, and generates the code for the
interconnect fabric and for the processors.
Since the information technology sector's electric power consumption
is very high, and rising rapidly, implementation and widespread
adoption of multiprocessor computer architecture
will significantly reduce the world's energy consumption.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20181126/dd9d5593/attachment.html>


More information about the cfe-dev mailing list