ufo-kit / ufo-core

GLib-based framework for GPU-based data processing
GNU Lesser General Public License v3.0
24 stars 8 forks source link

Specify channel order based on OpenCL capabilities #179

Closed tfarago closed 2 years ago

tfarago commented 2 years ago

Now we will finally be able to dynamically handle various channel orders supported for CL_FLOAT data type. I have implemented it in the buffer in a very dynamic way which will create a tiny overhead but the code is way shorter and we don't need to mess with the python ufo.numpy.

matze commented 2 years ago

Looks good, maybe make the g_warning a g_error however unlikely it is to occur in reality. Do you have performance numbers already? And why the heck have we never noticed that low-hanging fruit?

tfarago commented 2 years ago

Right, it's changed. However, there is no performance bump because on HW side (at least on NVIDIA) nothing changes. To populate all channels with one value takes no time, or they even fake it and don't do it actually, who knows... I got 10 s for CL_INTENSITY and CL_R and 100 sinograms of size 2024x3000.

tfarago commented 2 years ago

So this is a PR about compatibility, not performance optimization.

tfarago commented 2 years ago

Related also to #86