Epiphany support in Graal
Morris Meyer
morris.meyer at oracle.com
Mon Aug 12 12:48:52 PDT 2013
Michal,
There was a bit discussion in the list regarding com.amd.sumatra a month
or two back. We are rooting graal work in com.oracle.graal per a
decision from Thomas Wuerthinger.
Bharadwaj, Christian T. and myself have Graal-PTX running on hardware on
the moment - and we would like to make sure common code for parallel
execution moves forward in a way that pushes a common capability forward.
--mm
On 8/12/13, 3:06 PM, Michał Warecki wrote:
> Hi guys!
>
> I see that com.amd.sumatra.Sumatra interface and
> com.oracle.graal.compiler.hsail.CompileAndDispatch have same methods
> and probably will be used for the same purpose.
> I'd like to create Epiphany code dispatcher in exactly the same way,
> so my question is: does it make sense to move
> com.oracle.graal.compiler.hsail.CompileAndDispatch interface to
> com.oracle.graal.compiler or create separate, common package for that?
>
> Best,
> Michał
>
>
> 2013/8/4 Michał Warecki <michal.warecki at gmail.com
> <mailto:michal.warecki at gmail.com>>
>
> Thanks for the great answers! A lot ofvery interesting work to do:-)
> If anyone is interested in developing this Graal and Sumatra
> extension, I'm going to share it on some public repository within
> a few weeks/months.
>
> Best,
> Michał
>
>
> 2013/8/2 Morris Meyer <morris.meyer at oracle.com
> <mailto:morris.meyer at oracle.com>>
>
> 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