Hi Tom,
this has been on my todo list for quite a while.
Your patch looks good to me, but in my experience a block with approximately
the same size for each dimension gives slightly better performance in many
cases when compared to one where one dimension is significantly larger.
Maybe you could initialise the size for each dimension to 1 and multiply them
by 2 in a round-robin fashion as long as feasible.
Regards,
Ole