Re: [Gegl-developer] OpenCL platform



On Mon, Jan 21, 2019 at 3:10 PM Debarshi Ray <rishi is lostca se> wrote:

On Mon, Jan 21, 2019 at 09:54:01AM +0100, Richard B. Kreckel wrote:
Note that the OpenCL code in GEGL works but multi-core CPU code most
often will be faster (in particular in GIMP with lower OpenCL coverage
of operations than in the GEGL provided set), thus the opencl / GPU
acceleration is most often best left off. I however think OpenCL still
is a good fit for GPU accelerating GEGL and hope for future
improvements to both GEGL operations and OpenCL platforms.

I noticed that, too. And it made me wonder, because on the same hardware
Darktable seems to work much faster when OpenCL is enabled than when it
is disabled. Any clues what's so different?

I think that Darktable has a lot more OpenCL accelerated code paths,
which means that the pixel data doesn't have to go back and forth
between CPU and GPU memory so much.

Yes, not all GEGL nodes are OpenCL accelerated (though most of the
core set is, however no GIMP GEGL operations are OpenCL accelerated
which includes layer blending modes ). In a chain of CPU only
operations inserting a single OpenCL capable operation, that operation
needs to be faster than  cpu_time - (gpu_upload_time +
gpu_download_time). If a majority of operations are OpenCL operations,
it will start being the cpu implementations that seem to carry the
penalty of the data migration cost. For now it is better left disabled
for most users due to both performance and stability, during periods
of development before GIMP-2.10 was released opencl support was
enabled in by default to get wider testing at the penalty of running
slower.

The OpenCL operations are also bitrotting lately, they are unaware of
non-sRGB based spaces, and do not do grayscale/CMYK generalized
processing, the OpenCL code paths
are also not part of mipmap preview rendering, which I think is likely
to give the next significant performance boost for GIMP, both for
simple layer stacks of point-operations like in GIMP now, as well as
with layer effects and adjustment layers. mipmap preview rendering
cuts down the number of pixels being processed to the nearest 1/2 1/4
/8 /16  mipmap zoom scale factor and is implemented in base classes of
many operations, thus making also the GIMP blend/layer modes have this
capability already.


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