[cfe-dev] parallel C++

Jeff Hammond via cfe-dev cfe-dev at lists.llvm.org
Mon Nov 26 19:26:46 PST 2018


I’ll probably have more detailed comments later but the related work you
may wish to consider includes:
- UPC and Berkeley UPC++
- Charm++
- HPX from LSU
- DASH (http://www.dash-project.org/)
- MADNESS (https://arxiv.org/abs/1507.01888)

There are quite a few dead parallel C++ dialects from the last millennium
but it’s probably not worth your time to find and read about them.

I’m very glad that you used MPI as your communication runtime. This will
save you lots of pain.

Jeff

On Mon, Nov 26, 2018 at 2:57 PM Edward Givelberg via cfe-dev <
cfe-dev at lists.llvm.org> wrote:

>
> 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.
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>
-- 
Jeff Hammond
jeff.science at gmail.com
http://jeffhammond.github.io/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20181126/e25f07c4/attachment.html>


More information about the cfe-dev mailing list