-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
VUDA and ErrorIncompatibleDriver #27
Comments
Try changing
I was able to run the "add" sample with the above changes. The above changes (the inclusion of the |
Try out the latest commit and let me know if it solves the issue. Thank you. |
To quadpixles - sorry, I may have missed this when posted. However, I believe I had already tried something like that, but I will keep it in mind to move forward. To jgbit - thanks for your response. I couldn't move forward last March so I dropped it, but I have run into another problem. Fortunately I left some usable notes behind, and I have recreated the Vulkan/MoltenVK set up on my M1 MBpro (OS 14.2.1) as follows:
So, at this point, I think the current Vulkan/MoltenVK setup is working. Next is Vuda:
I see that ../../inc/state/node_device.hpp has a comment:
However, I don't know what this means - the undeclared function is "VirtAlloc" not "VirtualAlloc", and I am not familiar with the "mmap" function.
I'm a bit out of depth here. Am I missing something simple? Thanks again for your help. |
I'm new to Vuda, Vulkan and MoltenVK. I have the recent MoltenVK and the Vulkan SDK installed (and validation examples run - vkcube, vkvia and vulkaninfo) but I'm stuck with the simple VUDA example (https://github.com/jgbit/vuda) which compiles but returns an error at the line "cudaGetDeviceCount(&deviceCount);":
libc++abi: terminating with uncaught exception of type vk::IncompatibleDriverError: vk::createInstanceUnique: ErrorIncompatibleDriver
As best I understand it, this is a result of Vulkan requiring conformity - from Sascha Willems (https://stackoverflow.com/questions/72789012/why-does-vkcreateinstance-return-vk-error-incompatible-driver-on-macos-despite):
SDK 1.3.216 introduced a change in how devices are enumerated on MacOSX, and your code must make use of the portability subset extension to discover your devices (again).
There are some examples (not always in agreement) in various places about setting VkInstanceCreateInfo with the VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR flag, and VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME but apparently a device also needs to be enabled.
How is this handled for CUDA code that I want to run with VUDA? In particular, how do I get past the "ErrorIncompatibleDriver" issue with the sample code? I have tried creating a VkInstance, and I can explicitly call vkEnumeratePhysicalDevices() and get back a count of 1 device (I'm using an M1 MacBook Pro) but the cudaGetDeviceCount() still returns "ErrorIncompatibleDriver".
Thanks for any pointers on this - James Conway
The text was updated successfully, but these errors were encountered: