Re: [Gegl-developer] OpenCL support

Hi Victor,

(after 2 crashes of mail programs and browsers, I hope this time I will be able to send this mail)

There is no need to check all patches - let me explain. The project consists of two parts: the front-runners (learning in a group) and the rest (people learning from the group). The front-runners will pick a filter, then all are going to port it to OpenCL - each version will be discussed with the group and tested on the machines. By combining all that has been learned, the kernel with the best results will result in a single patch. We mostly need your help with the first few patches. People who find improvements after the first path, first have to do a list of checks before sending a patch.

The people who have done the class successfully, can focus on the harder problems you wrote down. When we get to that point, what I ask from you is to make the descriptions of the 4 points. 

StreamComputing will help out too, if time permits - our first focus is to guide the front-runners. We might be most useful in benchmarking the various kernels on our own servers - what build-system do you use, by the way?

Yes, if you agree that I setup this OpenCL-learning-project for GEGL, a tutorial would be the best help to get people started. I saw the API is quite useful and can be used to create a small program that reads an image and kernel, and writes an image, checks error-level and shows the time the kernel took. Later interactive mode can be added, or to benchmark on a directory of images.

Yes, I've checked a few filters. Will be good examples. We do need to profile&benchmark them, to see if they can be made faster before people use it to learn.


On 31 July 2015 at 20:18, Victor Oliveira <victormatheus gmail com> wrote:
Hi Vincent! Welcome to the GEGL list.

You can refer to for the list of filters in GIMP and GEGL that have been ported.

Being honest I don't think there's enough people here with OpenCL background to review that many patches! So, a great way of helping out with the OpenCL support is to get involved with the community, build knowledge of the GEGL codebase and help out not only with the OpenCL bits but also infrastructure work. We've had people come and go that implement filters but as important as that is to keep engaged and be sure it keeps working. 

So, personally, what I think it's the best way to get OpenCL out there for users which I'd do myself if I had the time {in order of importance}:

1) Verify that currently implemented filters produce correct results and are faster than CPU. We are in need of a systematic verification of correctness of all filters, with different test images cases.
2) Stress test of the GPU code. What happens if you open another application that steals our GPU memory?
3) GPU profiling at application-level? Are we doing something stupid so that there's bubbles in our GPU pipeline?
4) Work with the GIMP team to minimize the tilling issue.

As I said, unfortunately I don't have the time to actually code new stuff but I'd extremely interested in helping out to have a simple tutorial that could bring new people to the project, what you have in mind?

By the way, have you given a look at this for an example of pixelwise filter?

We can keep discussing here ideas.


On Thu, Jul 30, 2015 at 12:40 PM, Vincent Hindriksen <vincent streamcomputing eu> wrote:


You might assume I will ask about the current state of OpenCL, but my question is different. I want to help to get OpenCL support get done.

In short I want a group of beginners try to implement the same filter in OpenCL, learning together. There will be support for them, so eventually they create a correct and fast kernel. And yes, there is serious demand for this. All I need from you is to help me develop a tutorial to get from zero to the first kernel, while learning the basics of OpenCL. I think that we can do a filter per week, while improvements will keep coming because of a high-score list.

Is there somebody I can talk to about this? Or can we discuss it here?

Kind regards,

gegl-developer-list mailing list
List address:    gegl-developer-list gnome org
List membership:

 V.G.Hindriksen MSc., CEO
 StreamComputing BV -
 Location: Amsterdam, Netherlands, Europe
 Cell: +31 6 45400456
NEW PHONE NUMBER: +31 854865760
 KvK-number (Chamber of Commerce): 61901873
 Rabo Bank (IBAN/SEPA): NL89RABO0113885571 - BIC: RABONL2U
 OpenCL Newsletter:
 OpenCL Twitter   :
 OpenCL Blog      :

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]