Live data from Hacker News

Matrix Computations on the GPU in Clojure

neanderthal.uncomplicate.org

11–18 of 18 posts

Re: Matrix Computations on the GPU in Clojure

#11
post #9

What are a few good practical examples of the kinds of problems I'd solve with this?

I wrote my master thesis on General purpose GPU programming. The only two reasons you want to code for the GPU is that it can be much faster for some workloads (basically identical computation which can be trivially parralized) and (in some cases) because it can use much less power.

In the particular case of matrix multiplications, lots of problems can be described as matrices (say googles website ranking) and doing calculations on huge matrices is a thing the GPU is great at. That said it is unlikely to be something most people want.

Re: Matrix Computations on the GPU in Clojure

#12
post #3
post #2

Finally! This looks awesome. But then, now i have to find an AMD graphics card. Any chance that this works on NVIDIA?

In principle, it works on Nvidia, but Nvidia still does not support 1.2... But, new pluggable engine for OpenCL 1.2 is in plan, and it will have optimizations for Nvidia, so, it is not something that is out of reach.

How about Intel/AMD on-die GPUs? (And any thoughts on if that's likely to help -- now, or with future generations -- as opposed to just sticking to the CPU side?)

Re: Matrix Computations on the GPU in Clojure

#17

So what is the most practical language currently for GPU processing?

It entirely depends on how you want to program your GPU. If you want fine grained control, you should really use raw OpenCL/CUDA. If however you need something higher level, it may be better to choose one of a number of DSLs that are available. E.g. Haskell's accellerate (for array programming), a DSL from the Delite/Forge project.

For general purpose high level programming however, there isn't really anything acceptable. Skeletal/pattern based programming is covered fairly well with frameworks such as SkelCL or SkePU, however (from what I've seen) there doesn't seem to be a nice functional, or even procedural general purpose language for GPU programming.

Post reply on HN