kpet / clvk

Implementation of OpenCL 3.0 on Vulkan
Apache License 2.0
360 stars 42 forks source link

Better support discrete GPUs #98

Open kpet opened 5 years ago

kpet commented 5 years ago

clvk is currently designed with Unified Memory Architecture systems in mind. All the device memory allocations are currently HOST_VISIBLE which is inefficient on systems with a discrete GPU. Instead clvk should use DEVICE_LOCAL allocations to back memory objects used on the GPU and transfer to/from HOST_VISIBLE allocations as needed.

pvelesko commented 1 day ago

Can you elaborate on why all allocations are HOST_VISIBLE?