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.
when i read the title i thought that they were going to put money on Clover but anyway
nice that they put resources in FOSS
Originally Posted by Sidicas
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.
Originally Posted by schmidtbag
What happened to this VP8+OpenCL acceleration of yours?
Originally Posted by Veerappan
Originally Posted by Drago
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.
Currently, the parts that have OpenCL code paths are:
- Subpixel Prediction (sixtap/bilinear filtering)
- Loop Filtering (de-blocking filter)
The only one that is enabled by default is the loop filter, as I haven't had a chance to really optimize the other bits.
As long as your machine has an OpenCL run-time library and headers installed, you should be able to build it.
I've tested it on:
AMD APP SDK (CPU and GPU)
NVidia GPU SDK
SNU OpenCL runtime (LLVM-based, GPL, http://opencl.snu.ac.kr/)
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