DSLs for high performance computing

matovitch via Digitalmars-d digitalmars-d at puremagic.com
Wed Jun 25 10:21:52 PDT 2014


On Tuesday, 24 June 2014 at 21:01:34 UTC, Guillaume Chatelet 
wrote:
> On Wednesday, 18 June 2014 at 19:00:26 UTC, Andrei Alexandrescu
> wrote:
>> A coworker brought this list to my attention: 
>> https://xstackwiki.modelado.org/DSL%27s
>>
>> The work on such DSLs (reminiscent of Don's work on optimizing 
>> matrix operations years ago) seems be on the rise.
>
> I didn't know most of them.
>
> I encourage everybody interested in Image/Signal Processing to
> have a look at  Halide
> Talk https://www.youtube.com/watch?v=3uiEyEKji0M
> papers http://halide-lang.org/
>
> I don't know if it's already available in the source code but
> they mention the scheduling part can now be optimized through
> genetic algorithms : the code will autotune to use the best of
> your hardware, exploring the space of  precomputing (stencil
> buffer), inlining, multithreading, vectorization, unrolling,
> sliding window ...
>
>
> Thanks for sharing Andrei :)

Halide looks just *mind-blowing* though I couldn't find any 
project using it on github (other than toy-examples). I couldn't 
find anything either in the doc about the automatic scheduling 
they mention in their paper. I am wondering if it is possible to 
perform linalg operations, it seems rather convolution-oriented. 
Anyway, it would be awesome to have a D front-end (not that I 
have the time to code it, I usually just talk ;)).

Else :
Preferably to DSLs though, I am more waiting something as basic 
as containers based on std.allocator or a standard 
multi-dimensional array (with range behaviour based on a 
permutation of the dimensions and allow borrowed slices of any 
subspace). Well in fact I am not waiting since I do not have the 
time to code in D but if I had the time this is what I would be 
waiting/working for. Keep it up !


More information about the Digitalmars-d mailing list