[llvm-dev] Parallel IR [PIR] --- BoF preparation discussion

Kevin Cameron via llvm-dev llvm-dev at lists.llvm.org
Sat Oct 15 01:06:48 PDT 2016


For anyone interested in alternative extensions in the direction HDLs (Verilog, VHDL), I did a prototype extended C++ a while back -

  http://parallel.cc/

There are fairly simple examples here (sync/async life) -

  http://parallel.cc/cgi-bin/bfx.cgi/test_cases.html

It's currently a meta-compiler for g++, but I am intending to migrate it to LLVM if I get the time ;-)

The motivation was partly that the committees that handle HDL standards (IEEE SystemVerilog & VHDL) refused to support an asynchronous-FSM methodology that would work for both hardware and software development, and most of the open-source HDL efforts are some subset of the commercial stuff (and not proper compilers).

The HDL paradigm matches what you need for programming things like neural networks, NUMA/heterogeneous architectures in general, and distributed computing since linkage is done on data-pipes/signals rather than over API/ABI interfaces.

Kev.

On 10/14/2016 03:20 AM, Renato Golin via llvm-dev wrote:
> On 14 October 2016 at 10:38, Johannes Doerfert via llvm-dev
> <llvm-dev at lists.llvm.org> wrote:
>> To structure the mailing list discussion we propose to:
>>   - Inform a broader audience on the (currently) proposed approaches
>>     targeted specifically at LLVM (including but not necessarily limited
>>     to the work by Intel, Dounia Khaldi et al, Tao Schardl et al and our
>>     own work)
>>   - Collect/summarize arguments for and against a "more intrusive"
>>     parallel representation in LLVM.
>>   - Collect/summarize requirements including abstract design goals but
>>     also concrete examples that should (not) be supported.
>>
>> => We will use the summaries to prepare a short presentation for the BoF
>>    (~10min) which allows us to use the majority of time for a qualified
>>    discussion on the topic.
> Hi Johannes,
>
> I think this is a great idea! With a deadline to meet (~2 weeks), and
> a particular focus (feed the BoF discussion), I think we can keep
> ourselves on track.
>
> I particularly welcome a more intrusive change to IR (away from
> metadata) to hold parallelism ideas, since we're past the point where
> SIMD / multi-core was considered only an optimisation, and the
> compiler IR has to evolve to match.
>
> But I'm also worried that we'll end up lost in the multitude of ways
> we can extend the IR. A step by step pragmatic approach is fundamental
> to keep it sane and robust, and I think your starting point conveys
> that well.
>
> We need to make sure we cover simpler cases first, without losing
> sight of the more complicated cases as an evolution of whatever plan
> we come up with. But also, we need to be backward compatible, so that
> the optimisation passes don't start depending solely on the new IR
> constructs to work.
>
> cheers,
> --renato
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev




More information about the llvm-dev mailing list