Live data from Hacker News

Rootbeer GPU Compiler Lets Almost Any Java Code Run On the GPU

github.com

21–30 of 82 posts

Re: Rootbeer GPU Compiler Lets Almost Any Java Code Run On the GPU

#21

I had forgotten just how much I hate java namespaces. import edu.syr.pcpratts.rootbeer.testcases.rootbeertest.serialization.MMult; This seems like a pretty amazing project if the claims are true, though - I wasn't aware that CUDA was able to express so many of the concepts used to implement Java applications. The performance data in the slides is certainly compelling!

It's really not a problem when IDEs like Eclipse and Netbeans automatically handle imports for you.

It's a problem with a language if it requires heavyweight environments to make aspects of writing code in it acceptable.

Re: Rootbeer GPU Compiler Lets Almost Any Java Code Run On the GPU

#22

I had forgotten just how much I hate java namespaces. import edu.syr.pcpratts.rootbeer.testcases.rootbeertest.serialization.MMult; This seems like a pretty amazing project if the claims are true, though - I wasn't aware that CUDA was able to express so many of the concepts used to implement Java applications. The performance data in the slides is certainly compelling!

That is an unusually long namespace. It says more about the coding style of the programmer that wrote it than it does about Java.

Re: Rootbeer GPU Compiler Lets Almost Any Java Code Run On the GPU

#23
post #9

A comparison with AMD's Java offering, Arapi ( http://developer.amd.com/zones/java/aparapi/pages/default.as... ), would be interesting.

Looking through the code, this seems to do the exact same thing as Aparapi. I'm surprised this was given funding given the high quality implementation AMD has put together.

The headline is misleading; only a small subset of Java can be ported to the GPU. It works great for inner math loops and such, but not for higher level problems. Even if the author managed to find a way to translate more complicated problems (I see object locking in the list of features), they would be better suited to run on a CPU, or refactored to avoid locks.

Re: Rootbeer GPU Compiler Lets Almost Any Java Code Run On the GPU

#24
post #15

Earlier quoted context omitted.

Wildcard imports are a bad idea regardless of whether you're using an IDE or not due to the risk of future name conflicts.

My point was more than Java namespaces can be easy to use. Pretty much everyone uses an IDE anyway so it's not like namespaces are ever an issue unless you do come across that rare name clash.

> Pretty much everyone uses X anyway so it's not like Y are ever an issue

This 'its good enough, and everyone does it anyway' attitude leads us to incredibly damaging status quos.

Re: Rootbeer GPU Compiler Lets Almost Any Java Code Run On the GPU

#25

Earlier quoted context omitted.

It's really not a problem when IDEs like Eclipse and Netbeans automatically handle imports for you.

It's a problem with a language if it requires heavyweight environments to make aspects of writing code in it acceptable.

This

Writing Java is unbearable without Eclipse/Netbeans. .NET a little bit less unbearable

If your IDE "works harder" than your compiler, something seems wrong to me (of course we all expect things like syntax highlighting today)

Re: Rootbeer GPU Compiler Lets Almost Any Java Code Run On the GPU

#26

Earlier quoted context omitted.

The GPU in a desktop is the only interesting kind of GPU. The built-in GPU in servers is ten years behind the current cutting edge on desktops. Though servers can have PCI Express slots for modern GPU installation. I think most of the GPU-based bitcoin farmers are using desktop hardware, but I might be wrong.

Well, there's really two classes of server GPUs. One is the tiny ancient GPUs used to drive VGA outputs on servers. Those are hardly even worth talking about; they're only there so that you can hook a monitor up in an emergency. And then there are real server GPUs, like nVidia Tesla stuff. Those typically don't even have video outputs, but they're on par with modern high-end gaming GPUs, possibly even better at some…

To my knowledge bitcoin farmers found the hash rates of the Tesla based ec2 instances far slower than consumer grade high performance graphics cards

Re: Rootbeer GPU Compiler Lets Almost Any Java Code Run On the GPU

#27

I had forgotten just how much I hate java namespaces. import edu.syr.pcpratts.rootbeer.testcases.rootbeertest.serialization.MMult; This seems like a pretty amazing project if the claims are true, though - I wasn't aware that CUDA was able to express so many of the concepts used to implement Java applications. The performance data in the slides is certainly compelling!

If they would remove all the redundant information it would be a lot better.

Re: Rootbeer GPU Compiler Lets Almost Any Java Code Run On the GPU

#28

Earlier quoted context omitted.

It's a problem with a language if it requires heavyweight environments to make aspects of writing code in it acceptable.

This Writing Java is unbearable without Eclipse/Netbeans. .NET a little bit less unbearable If your IDE "works harder" than your compiler, something seems wrong to me (of course we all expect things like syntax highlighting today)

This may be a problem if your truck breaks down in the desert, your 3g is out of range and you never thought to install an ide beforehand but apart from that when would you find yourself writing java without an ide?

Re: Rootbeer GPU Compiler Lets Almost Any Java Code Run On the GPU

#29

I had forgotten just how much I hate java namespaces. import edu.syr.pcpratts.rootbeer.testcases.rootbeertest.serialization.MMult; This seems like a pretty amazing project if the claims are true, though - I wasn't aware that CUDA was able to express so many of the concepts used to implement Java applications. The performance data in the slides is certainly compelling!

Does it really matter? Namespaces/packages only serve to:

- make things unique

- group things logically (which makes the systems design more explicit)

This applies to all programming languages. It's just that there's a convention in the Java community to prefix namespaces with a FQDN, which adds to the length. But you're free to choose another convention if you fancy. Although I wouldn't recommend since it's not a major issue, especially considering IDE support.

Re: Rootbeer GPU Compiler Lets Almost Any Java Code Run On the GPU

#30

Does this simply run your java code on the GPU, or does it parallelize your code automatically? The latter would be really cool.

This is indeed IMHO a central question in this topic, since parallelizing an algorithm is not an easy task.

So I guess you still end up writing your algorithm in OpenCL / Cuda and maybe use the serialization provided by this lib.

Update: (Just read the hpcc_rootbeer.pdf slides.) You write your _parralellized_ implementation of an Algorithm in Java - and it will be executed on the GPU.

Post reply on HN