Epiphany support in Graal
Morris Meyer
morris.meyer at oracle.com
Fri Aug 2 10:53:10 PDT 2013
This looks like an interesting architecture. The reference manual is a
missing the actual encoding of instructions, but from what you have here
I would suggest that you look at the SPARC assembler classes in graal
first - and then look at the PTX and HSAIL architectures.
Christian Thalinger and I worked the SPARC assembler - and the class
structure of each instruction allows for superclass assertions on the
specific formats, as well as being able to re-work in the instruction
stream if offsets fall outside small immediate ranges.
The PTX architecture in graal has the initial ExternalCompilationResult
path - which allows for Graal to invoke the compiled PTX kernels and
still have a host-native compiled result. Graal does interpreter vs
compiled snippet unit testing - and we would like to augment this as we
push into GPU, APU and architectures such as Epiphany.
We still have more work to do on moving to handle multiple heterogeneous
architectures.
We are also working to add the sort of upstream parallel work-enabling
code that allows the compiler and APIs recognize and gain useful work
from external compilation resources.
Warm regards,
--morris
On 8/2/13, 1:56 AM, Michał Warecki 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