dForce error before simulating
I try to run dForce with any dynamic item (clothing or whatever) and I get errors. Screenshots attached.
"It appears that the dForce kernels on your computer for "gfx1030" have not been compiled or have changed and need to be recompiled. This process can take several minutes to complete. Would you like to continue?" I choose yes, then:
"Error intializing OpenCL kernels."
Log reads as follows:
2024-05-02 18:00:08.813 [WARNING] :: ..\..\..\src\dzopenclkernelfactory.cpp(499): ERROR: clBuildProgram (-11)
2024-05-02 18:00:08.813 [WARNING] :: Source built for calcEdgeCollisionCollideEdge. Build log:
lld: error: undefined hidden symbol: find_coplanarity_times
>>> referenced by C:\Users\Ryan\AppData\Local\Temp\comgr-d85900\input\linked.bc.o:(calcEdgeCollisionCollideEdge)
>>> referenced by C:\Users\Ryan\AppData\Local\Temp\comgr-d85900\input\linked.bc.o:(calcEdgeCollisionCollideEdge)
Error: Creating the executable from LLVM IRs failed.
2024-05-02 18:00:08.823 [WARNING] :: ..\..\..\src\dzopenclkernelfactory.cpp(351): m_isValid = false @ dzopenclkernelfactory.h, line 118 (after loading kernel members)
2024-05-02 18:00:08.923 [WARNING] :: ..\..\..\src\dzdynamicsengine.cpp(3625): Error initializing OpenCL!
2024-05-02 18:00:08.923 [INFO] :: Total Simulation Time: 4.77 seconds
Comments
My best guess would be a driver issue, as the gpu is being misidentified. Error shows a GFX1030(?) and your system specs show an RX6950xt.
Try reinstalling or updating that first.
Note, AMD gpus have been a bit wonky in relation to OpenCL support/enablement, so it may be necessary to edit the registry, or a few other things to get it enabled.
I only have one AMD gpu in service these days, and i could not get OpenCL to work at all on it no matter what i tried.
Same output so far, having updated my graphics card drivers. I noticed that Preferences recognizes the existence of my card so I guess it is in fact some OpenCL compatibility problem.
Are there any other settings I can try? The picture I've been getting is that DAZ Studio simply doesn't support the current OpenCL standard because it uses outdated code. If that's the case then it is very disappointing and I certainly hope that someone would fix it.
Given that AMD has issues and nVidia and intel do no, in this respect, it is not clear that the issue is in DS rather than the AMD drivers.
I have updated my GPU drivers so I'm not sure what else to do at this point.
The first thing to do is see if OpenCL is enabled on the GPU.
you can use GPU-Z, and if the OpenCL box isn't checked, it isn't enabled. Note:Close GPU-z before you try to make any changes, as it may not report correctly if you don't
If it's not, you might be able to enable it by manually installing the driver, don't use the insallter. go to device manager>display adapters>right click>Update driver>Browse computer...>Let me pick from a list>Select your specific GPU and Click next.
You may need to restart if gpu-z doesn't show it as enabled after.
If that doesn't work, time to edit the registry.
HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenCL\Vendors
If that key doesn't exist, create it with a Dword Value 0, then edit the Dword with the path to the AMDOCL64.dll
Unfortunately I can't give you full path to that DLL, On my system the partial path is C:\windows\system32\driverstore\filerepository.
This path may differ depending on O.S. you're using, so you may just need to search all of your C drive for that DLL
once that's done, restart the system and then check if GPU-z is still showing no check mark in the OpenCL box.
If not, try manually reinstalling the driver again, restart, then check.
If it's still not working, time to start googling.
I did finally get My old FIrepro S9000 to work, but i had to do the regedit and manually installl the driver with the above method.
It's not running dforce sims just fine.
I tried modifying the registry, screenshot attached just so to verify that the settings look right. I don't edit the registry often. GPU-Z says that OpenCL is enabled but I tried the registry change anyway. It doesn't appear to have worked so far.
Is it still showing the same error, incorrect ID included?
If so, might be a bugged driver, try using an older one.
Seems like this issue has been going on for some time(2022?), found other posts in the forums with the same reported issue.
This one (https://www.daz3d.com/forums/discussion/534341/error-initializing-opencl-kernels-when-using-dforce) has a solution to install a compatibility pack from microsoft, and some users reported it fixed the issue.
I can't verify if this does or doesn't work, as i don't have any gpus throwing the error now, or any i can test with.
That did it! I had to download the compatibility pack at https://apps.microsoft.com/detail/9nqpsl29bfff?hl=en-us&gl=us. Once I did that, the Advanced tab of Simulation Settings showed my actual card as a selectable option. Now dForce doesn't just work, it runs fast too!