On Wed, Nov 21, 2012 at 4:07 PM, Jim - FooBar(); <jimpil1...@gmail.com>wrote:

>
>
The entire talk brought back to my mind some thoughts i was having a couple
> of months ago: isn't it possible to do a parallel 'fold' using GPUs? We
> already have reducers fork-join ready (Rich took care of that :)), why not
> deploy the fork-join tree on GPUs?
>
>
The main problem with accessing any native code from JVM languages is that
you have to copy the data from JVM land to native land. For some algorithms
this is acceptable but often not. Since the data is then copied again to
GPU land, I suspect this will soon become prohibitive.

Having said that, project sumatra[2], announced at the most recent Java One
is proposing to (somehow) bring native GPU coding to the JVM. It'll be
interesting to see how this progresses and whether it'll be achievable from
clojure, still very early days. I looked at aparapi[3] linked from the
project sumatra homepage for possible use from clojure, but it takes java
byte code and transforms it for GPU, so a clojure wrapper doesn't seem
feasible.

Also, there is talk of some native 'tuple' interface to allow finer control
over memory layout of datastructures along the lines of Martin Thompsons
work [4]. That stuff is really not for the faint hearted, but this minutiae
is what kills you when you're really trying to maximize performance.

regards

Neale
{t: @sw1nn <https://twitter.com/#!/sw1nn>, w: sw1nn.com }


[2] http://openjdk.java.net/projects/sumatra/
[3] http://code.google.com/p/aparapi/
[4]
http://mechanical-sympathy.blogspot.co.uk/2012/10/compact-off-heap-structurestuples-in.html

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to