-
Notifications
You must be signed in to change notification settings - Fork 12k
Vulkan: Add device-specific blacklist for coopmat for the AMD proprietary driver #11074
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
Conversation
ggml/src/ggml-vulkan/ggml-vulkan.cpp
Outdated
if (driver_props.driverID == vk::DriverId::eAmdProprietary || driver_props.driverID == vk::DriverId::eAmdOpenSource) { | ||
// Workaround for AMD proprietary driver reporting support on all GPUs | ||
const std::string name = props.deviceName; | ||
return name.rfind("AMD Radeon RX 7", 0) == 0 || // RDNA 3 consumer GPUs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a way to write this so newer GPUs will be enabled by default?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That would be good, but I couldn't think of an easy way. I'm hoping that AMD resolves this in their drivers, then we can just remove the check.
I'll try to figure out the proper way to report this to their Windows and amdvlk driver team.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm OK with this as a short/medium-term fix. Hopefully there will be a better way in the future.
I noticed that AMD sometimes adds |
…tary driver (ggml-org#11074) * Vulkan: Add device-specific blacklist for coopmat for the AMD proprietary driver * Add (TM) to AMD name check
…tary driver (ggml-org#11074) * Vulkan: Add device-specific blacklist for coopmat for the AMD proprietary driver * Add (TM) to AMD name check
…tary driver (ggml-org#11074) * Vulkan: Add device-specific blacklist for coopmat for the AMD proprietary driver * Add (TM) to AMD name check
This adds a workaround for AMD's proprietary Vulkan driver and amdvlk reporting support for cooperative matrix on GPUs without the necessary hardware. Since Vulkan has no concept of compute capability (to my knowledge), I used the device name. Let me know if you see an issue with that.
Please test this with AMD GPUs, especially with Windows or amdvlk, to ensure it works as intended.