OS: Windows 10 Pro (Build 1806)
CPU: AMD Threadripper 2970wx
RAM: 32GB (16GBx2) G.Skill f4-3200c16-16GVK
MOBO: Asrock x399 ATX Taichi
NVME: Samsung 950 PRO - 512GB
HDD: WDC WD4003FZEX - 4TB
GFX: Radeon VII x3 ( ASROCK + MSI + PowerColor) DRIVER: Adrenalin 2019 Edition 19.4.1 (April 3rd, 2019)
GFX: Zotac Nvidia 2080 TI DRIVER: NVIDIA Creator Ready Driver 419.67 (Tried all variations of their drivers)
I have an issue with running AMD and Nvidia cards in the same system with OpenCL NOT being enabled for both.
When installing the drivers each seems to override the others drivers for OpenCL making the last driver package installed the only OpenCL device active.
I want to be able to use the "OpenCL" compute power of all cards depending on the task needed. "ie GPU Rendering with AMD ProRender, etc..."
I had this issue perviously, but was able to resolve it with older NVIDIA cards/drivers and changing some settings in the Windows Registry. Which let me have both NVIDIA & AMD GPU's running OpenCL together on my windows and Mac system (via EGPU) (previous systems being Intel x99/x299 (LGA 2011-v3 & 2066))
I do not think this is isolated to an "NVIDIA" driver problem because when installing AMD's driver setup last the same reversal occurs and Nvidia's openCL options are removed for AMD.
I have used DD Uninstaller to wipe my system, prevented windows from involuntarily installing some default drivers, tried different combos of installations, BIOS config, windows regedit to point to the right OpenCL drivers (for each card) but I can not get the system to recognize/activate OpenCL for both cards at the same time. (I used GPU Caps Viewer to verify the GPUs availability) ie Luxrender/luxmark, Blender's Cycles, AMD's Prorender can only give the OpenCL option for either AMD or Nvidia vs previously both were given as mixable/selectable options.
It must be something stupid I am doing. ie. This is my first setup with AMD Motherboard/Cpu's so maybe?... if there is something I am missing in how AMD Boards work vs. my previous builds it would be nice to know.
Currently I have just one AMD and one NVIDIA card installed.
Thank you for your time.
I have the same issue here .. Ryzen 2200G and GTX 1060 with latest drivers. OpenCL is only available for the last installed driver. That is, if I install the amd driver then I have OpenCL on the vega gpu. Then if I install the nvidia driver I loose OpenCL on the vega and get OpenCL on the 1060. Then if I re-install the amd driver I loose OpenCL on the 1060 and get back OpenCL on the vega.
Any way to make them both working please ?
EDIT. I have win 10 latest version installed in full uefi mode. Also, when installing the drivers I don't get any entry in "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenCL\Vendors". The key itself doesn't exist in the registry. Do I have to create and edit the registry key myself ? If yes, what values do I have to use to get both amd and nvidia working ?
I believe I got what happens here.
Every time I install a new driver, both amd or nvidia, it overwrites the "system32\opencl64.dll" and "syswow64\opencl32.dll" files in the windows folder. This way what I install last is the only OpenCL available. Anyway the original OpenCL dlls for both amd and nvidia are available in the system32\driverstore folder.
I'll try to create the khronos key and set the OpenCL entries for both nvidia and ati and see what happens.
EDIT. creating the khronos keys works fine and this way you can have both ati and nvidia OpenCL together. I reported the whole solution in the post below that you can't see because it is actually being "moderated" .. dunno what they're doing here ..
YEAH IT WORKS FINE !!
It seems if I add the khronos keys then everything works fine. Now I have OpenCL both on nvidia and amd gpus. You have to pay attention to the last driver installed though. That is, if you install the amd driver last, then you have to add the nvidia OpenCL. While if you install the nvidia driver last, then you have to add the amd OpenCL.
BEWARE. If you add both the nvidia and amd OpenCL to the khronos keys then it will not work and you will loose OpenCL both on nvidia and amd sides. Of course you will get them back by correcting the registry keys so no harm is done.
So here are the registry keys to create. You have to first copy the needed dlls in the relative system folders. For example in my case I had amd installed last, so I copied the nvopecl32.dll and nvopencl64.dll.
If you install the amd driver last then you have to add the nvidia OpenCL.
HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenCL\Vendors
"C:\Windows\System32\nvopencl64.dll"=dword:00000000
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Khronos\OpenCL\Vendors
"C:\Windows\SysWOW64\nvopencl32.dll"=dword:00000000
If you install the nvidia driver last then you have to add the amd OpenCL.
HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenCL\Vendors
"C:\Windows\System32\AMD_OpenCL64.dll"=dword:00000000
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Khronos\OpenCL\Vendors
"C:\Windows\SysWOW64\AMD_OpenCL32.dll"=dword:00000000
EDIT. Of course it's a shame both for amd and nvidia that their driver installations overwrite the system OpenCL. They should add the khronos keys instead. So shame on you amd and nvidia .. and I mean it.
Hi,
I have exactly the same problem, but I think I do something wrong. Should I only create the folders in the registry and then create a dword with the directory as the Name? My problem is, that I cannot use any adobe program running opencl due big fragment problems with the extracted file
I can't create a OpenCL key under Khronos, since there's already one in a different location, any fixes?