You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hama.apache.org by Martin Illecker <mi...@apache.org> on 2013/04/26 01:32:50 UTC

Hama and GPGPU

Hi all,

I have implemented a first try to bring Hama on the GPU.

Please can you have a short look at the GpuBSP[1] class and the
GpuBSPInterface[2].

I'm using the Rootbeer[3-4] framework for automatic Java to CUDA conversion.
Rootbeer uses Soot[5] to analyze Java Bytecode and then generates CUDA code
out of it.

The *gpuMethod()* in *SetupKernel*, *BspKernel* and *CleanupKernel* in [1]
represents the
entry point for Rootbeer. Starting from the *gpuMethod()* Rootbeer will
recursively convert all
into CUDA code so it can be executed on the GPU later.

Does it make sense or has someone a better idea to integrate Rootbeer into
Hama?

Thank you very much for your suggestions!

Martin

1.
https://svn.illecker.at/hadoop/hama-trunk-gpu/hama-trunk-gpu/core/src/main/java/org/apache/hama/gpu/GpuBSP.java
2.
https://svn.illecker.at/hadoop/hama-trunk-gpu/hama-trunk-gpu/core/src/main/java/org/apache/hama/gpu/GpuBSPInterface.java
3. https://github.com/pcpratts/rootbeer1
4. https://raw.github.com/pcpratts/rootbeer1/master/doc/rootbeer1_paper.pdf
5. http://www.sable.mcgill.ca/soot/

Re: Hama and GPGPU

Posted by "Edward J. Yoon" <ed...@apache.org>.
> Right now after there is a segmentation fault in the CUDA on the GPU,
> Rootbeer cannot recover. Normal Java exceptions are fine, but if the
> compiler outputs invalid generated code and it has a fault, you must
> restart the process.

Thanks for your clarification!

On Wed, May 1, 2013 at 2:38 AM, Phil Pratt-Szeliga <pc...@trifort.org> wrote:
> Hello,
>
>> Good start! It looks really nice to me.
>
> We are working on fixing some of the bugs involved with this. Rootbeer
> right now is very close to a new release with a new class loader that
> greatly improves compilation time and CUDA C code generation
> robustness. 41/60 test cases are passing on this alpha version.
>
>> One must be aware though, we need to check whether there are no
>> license issues. Rootbeer looks distributed under the MIT License (Dear
>> Philip C. Pratt-Szeliga, if I'm wrong please let me know). According
>> to http://apache.org/legal/3party.html, MIT and BSD are fully
>> compatible.
>
> Yes, you can use Rootbeer for any purpose free of charge and license
> restrictions.
>
>> Another one is about fault tolerance.
>
> Right now after there is a segmentation fault in the CUDA on the GPU,
> Rootbeer cannot recover. Normal Java exceptions are fine, but if the
> compiler outputs invalid generated code and it has a fault, you must
> restart the process.
>
> Sincerely,
> Phil Pratt-Szeliga
> Syracuse University



--
Best Regards, Edward J. Yoon
@eddieyoon

Re: Hama and GPGPU

Posted by Phil Pratt-Szeliga <pc...@trifort.org>.
Hello,

> Good start! It looks really nice to me.

We are working on fixing some of the bugs involved with this. Rootbeer
right now is very close to a new release with a new class loader that
greatly improves compilation time and CUDA C code generation
robustness. 41/60 test cases are passing on this alpha version.

> One must be aware though, we need to check whether there are no
> license issues. Rootbeer looks distributed under the MIT License (Dear
> Philip C. Pratt-Szeliga, if I'm wrong please let me know). According
> to http://apache.org/legal/3party.html, MIT and BSD are fully
> compatible.

Yes, you can use Rootbeer for any purpose free of charge and license
restrictions.

> Another one is about fault tolerance.

Right now after there is a segmentation fault in the CUDA on the GPU,
Rootbeer cannot recover. Normal Java exceptions are fine, but if the
compiler outputs invalid generated code and it has a fault, you must
restart the process.

Sincerely,
Phil Pratt-Szeliga
Syracuse University

Re: Hama and GPGPU

Posted by "Edward J. Yoon" <ed...@apache.org>.
Good start! It looks really nice to me.

One must be aware though, we need to check whether there are no
license issues. Rootbeer looks distributed under the MIT License (Dear
Philip C. Pratt-Szeliga, if I'm wrong please let me know). According
to http://apache.org/legal/3party.html, MIT and BSD are fully
compatible.

Another one is about fault tolerance.

On Fri, Apr 26, 2013 at 8:32 AM, Martin Illecker <mi...@apache.org> wrote:
> Hi all,
>
> I have implemented a first try to bring Hama on the GPU.
>
> Please can you have a short look at the GpuBSP[1] class and the
> GpuBSPInterface[2].
>
> I'm using the Rootbeer[3-4] framework for automatic Java to CUDA conversion.
> Rootbeer uses Soot[5] to analyze Java Bytecode and then generates CUDA code
> out of it.
>
> The *gpuMethod()* in *SetupKernel*, *BspKernel* and *CleanupKernel* in [1]
> represents the
> entry point for Rootbeer. Starting from the *gpuMethod()* Rootbeer will
> recursively convert all
> into CUDA code so it can be executed on the GPU later.
>
> Does it make sense or has someone a better idea to integrate Rootbeer into
> Hama?
>
> Thank you very much for your suggestions!
>
> Martin
>
> 1.
> https://svn.illecker.at/hadoop/hama-trunk-gpu/hama-trunk-gpu/core/src/main/java/org/apache/hama/gpu/GpuBSP.java
> 2.
> https://svn.illecker.at/hadoop/hama-trunk-gpu/hama-trunk-gpu/core/src/main/java/org/apache/hama/gpu/GpuBSPInterface.java
> 3. https://github.com/pcpratts/rootbeer1
> 4. https://raw.github.com/pcpratts/rootbeer1/master/doc/rootbeer1_paper.pdf
> 5. http://www.sable.mcgill.ca/soot/



-- 
Best Regards, Edward J. Yoon
@eddieyoon