For CL_DEVICE_SVM_FINE_GRAIN_SYSTEM to work I assume the graphics card, the motherboard, the CPU (vt-d or IOMMU v2.5) and the OS must all support Address Translation Services (ATS) 1.1
Does the R9 290x support ATS 1.1?
Is CL_DEVICE_SVM_FINE_GRAIN_SYSTEM possible with a R9 290X and an Intel based system that supports vt-d?
Will it require a Kaveri FM2+ system?
Will it only be available under linux (because windows doesn't have vt-d/IOMMU support)?
Is there anything like CL_DEVICE_SVM_ATOMICS for shared pinned/non-paged memory?
My understanding of CL_DEVICE_SVM_ATOMICS is that the CPU must be accessing the shared virtual memory through an OpenCL kernel running in the same context, correct?
i.e. it can not use native x86 atomics directly