Device::preferred_work_group_size_multiple() now caches previous results