> Most architectures are made to execute a lot of times the same instruction
> on a different block of data.
> You can have if...then...else... in your GPU programs, but every processor
> will execute both branchs (with a tag saying wether
> or not it is *really* executing it or not)

This is kindof true...although it's not as bad as it sounds. IIRC the
current break-point is 16 threads will be executing the same
instruction in modern NVidia GPUs. This is called the "Warp size".
Modern GPUs can execute hundreds of threads at one time, so it is
possible to have some fairly branch heavy code. It may run slower than
non-branch code, but can often still out perform CPUs.


I would look at something like scriptjure:
http://github.com/arohner/scriptjure combined with Penumbra. This way
you could code in Clojure, have the code translated to CUDA or OpenCL
code, and then executed on the GPU and have the results returned as a
sequence.

Timothy

-- 
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