Epiphany support in Graal

Frost, Gary Gary.Frost at amd.com
Fri Aug 2 07:04:09 PDT 2013


I think this is a great match for Graal and is also a great match for
Sumatra. 

In Graal you might start taking a look at the code for the PTX or HSAIL
backends.  They are intended to target GPU's as accelerators.

It also looks like your dispatch model will align very close to the GPU
model, I assume Epiphany is a grid style parallel dispatch (SIMD?).

We (from Sumatra) have some test code for intercepting the
'parallel.forEach()' part of the stream and redirecting to the GPU.  My
guess is that the PTX folks also have a test harness for doing this.

I think we can also start looking at how to generalize the dispatch work
we have been collecting for HSAIL, PTX and (soon!) Epiphany. The
Sumatra/Graal forums would be a great place for this.

Gary

On 8/2/13 3:56 AM, "Michał Warecki" <michal.warecki at gmail.com> wrote:

>Hi all!
>
>I just want to make sure that Graal is the correct project to start with.
>I'd like to create bytecode to Epiphany architecture asm compiler.
>
>Epiphany is a multicore RISC based architecture [1] that aims to be an
>accelerator (not the host CPU) unit. Epiphany architecture is used in
>Parallella computer (ARM is the host CPU) [2].
>
>What I want to achieve is to compile and send to epiphany only part of a
>Java program to be processed in a parallel way. Probably I will try to
>integrate it with Sumarta project.
>
>Example use case:
>
>Streams.intRange(0, in.length).parallel().forEach( id ->
>{c[id]=a[id]+b[id];});
>
>// c[id]=a[id]+b[id];     -> This code will be executed on Epiphany. "id"
>is the identifier of a core.
>
>
>Is Graal the correct project to implement such bytecode to epiphany asm
>compiler? I am inexperienced in this area... Any ideas about this?
>
>Best,
>Michał
>
>
>[1] http://www.adapteva.com/introduction/
>http://www.adapteva.com/wp-content/uploads/2012/10/epiphany_arch_reference
>_3.12.10.03.pdf
>
>[2] http://www.parallella.org/
>




More information about the graal-dev mailing list