I can’t say anything about the tiling. If you can’t avoid it, you may try raising the setting ‘minimum amount of memory (in MB) for a single buffer in tiling’.
https://elstoc.github.io/dtdocs/special-topics/memory/
For the OpenCL issue:
opencl_async_pixelpipe: ‘For optimum latency set this to TRUE, so that darktable runs the pixelpipe asynchronously and tries to use as few interrupts as possible. If you experience OpenCL errors like failing kernels, set the parameter to FALSE’
and
you can try changing ‘opencl_memory_headroom’ (for me, with a 6 GB NVidia card, it’s set to 400, but in the past, with a 2 GB card, I sometimes had to raise this). And, although this is in the AMD section of the manual, it applies to other cards, too. Something to do with the drivers not being able to report how much memory is actually available for applications.
https://elstoc.github.io/dtdocs/special-topics/opencl/
Finally, I have been told that if you run low on RAM (which is sometimes the case with my 4 GB system), OpenCL will fail to initialise (completely, not while running a module). So if I see that, I close everything else (browser etc.) to free up RAM. May not be applicable to you, of course.