If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

AMD's Paying For Some Open-Source OpenCL Love

Phoronix: AMD's Paying For Some Open-Source OpenCL Love

AMD's interested in driving the use of OpenCL within the open-source world, and they're willing to pay for it. One of their new contracts is to have more of the OpenCL work for GIMP/GEGL on the Open Computing Language...

Considering OpenCL will run on any graphics chip these days, I think this was pretty generous of AMD..

Hopefully more people will see how much faster and more powerful doing these kinds of parallel floating point compute tasks on a 700 core/shader GPU is.

Very true, however, opencl is a rival of CUDA so even though opencl is nvidia compatible I'm sure stuff like this is to help fight against nvidia. Intel's graphics chips aren't really of concern. I'm sure this is also done because AMD needs more software publicity. Even though this may seem like a nice thing of AMD to do, Intel contributes to what seems to be dozens of open source projects, many of which are intended for Linux in mind.

What I would find amusing is if Victor was using an intel and/or nvidia focused system, yet AMD pays him anyway.

Very true, however, opencl is a rival of CUDA so even though opencl is nvidia compatible I'm sure stuff like this is to help fight against nvidia. Intel's graphics chips aren't really of concern. I'm sure this is also done because AMD needs more software publicity. Even though this may seem like a nice thing of AMD to do, Intel contributes to what seems to be dozens of open source projects, many of which are intended for Linux in mind.

What I would find amusing is if Victor was using an intel and/or nvidia focused system, yet AMD pays him anyway.

It wouldn't be the first time... I was recently working on VP8+OpenCL acceleration for an arm-based mobile device, but all of my development work was being done on a Radeon 6850 (personal desktop) and GF 9400m (macbook). There are many parts of OpenCL programming that are entirely portable between architectures. It's just that you have to target specific vendor chips if you want to squeeze max performance out of the architectures. If you are just looking for faster-than-cpu performance, you can get by with generic GPU-based coding practices. If you need every last drop of performance, then you have to dig a bit deeper into the specific architecture you're optimizing for.

It wouldn't be the first time... I was recently working on VP8+OpenCL acceleration for an arm-based mobile device, but all of my development work was being done on a Radeon 6850 (personal desktop) and GF 9400m (macbook). There are many parts of OpenCL programming that are entirely portable between architectures. It's just that you have to target specific vendor chips if you want to squeeze max performance out of the architectures. If you are just looking for faster-than-cpu performance, you can get by with generic GPU-based coding practices. If you need every last drop of performance, then you have to dig a bit deeper into the specific architecture you're optimizing for.

I made a bunch of progress over the last few months (6000x improvement to loop filter speed), but I'm still not to the point where it's faster than CPU-only (currently 1/3 - 1/2 the speed of the hand-optimized assembly on my Phenom II x6 1055t + Radeon 6850 combination.... the CL path is close to the non-assembly generic C speed on the same hardware). Currently, 1080p videos are the only ones that give my desktop trouble. 720p and lower play at 100+ fps, but 1080p videos are in the 30-40 fps range.

I believe that you should be able to use this code on any device/platform that supports OpenCL 1.0 or higher. I don't have an Intel CPU, so I haven't been able to test their run-time, and I haven't yet gotten Denis' clover branch to work yet (not that his code is broken, I just haven't gotten the LLVM build working yet).

I'll probably push the current git repository to my WebM sandbox in the future, and hopefully I can get this code accepted upstream after the encoder part of the library has been tested for regressions/breakages.

Hi! I'm Victor, maybe the title of the article is a little misleading. I think open-source community is very excited about OpenCL in general and many projects already use it like Luxrender and Darktable, specially if we consider that there isn't yet an stable open-source implementation [but I suppose this will change soon as the work on Clover and others progress]. AMD support [technical and financial] is very helpful and is a sign of their good will to the community.

Besides, I'm very excited with this project and I hope everything goes well and you like the results. Notice that through GEGL we are able to improve not just GIMP, but others projects like Darktable and Mypaint. Feel free to ask anything