← All ideas
  • Published 22 Jul 2020

Subdivide OpenCL CPU tiles from GPU tilesize

From what I've read and experimented with CPU is far more happy with small tile sizes, whereas GPU likes them bigger. Would it be possible to implement a subdivision of the tilesizes for the CPU with a base size pulled from the GPU tile size?

If you for instance had a 256 x 256 tile size for the GPU and a 16 thread CPU you could then pour all 16 threads into one GPU tile, and have them render at a tilesize they seem to be happier with. If possible this could speed up renders as you wouldn't have to wait for the CPU as much as when using a combined render.

I realize the math to auto config this based on integers probably can get somewhat unwieldy, but perhaps a lookup table of some sort, paired with set choices for tile sizes could be an option?

100%

Development Status: Open

Upvote 4 Downvote 0
martinus
22 Jul 2020

1 Comment

Lauloque

Since hybrid rendering was added, GPU were also made fast on small tile size. Not necessarily as fast as their best big tile dize, but combined with CPU it's usually faster.

So right now, GPUs have two optimal tile sizes, one small one big.