0

I'm using Vulkan for heavy GPU computations and in some kernels I'm applying subgroup arithmetic operations. In order to use this, I've included necessary extensions in the kernel:

#extension GL_KHR_shader_subgroup_arithmetic: enable
#extension GL_KHR_shader_subgroup_basic: enable

Everything is working in the way I expect it, but there's a validation error that bothers me. It has this text:

Object 0: handle = 0x78de221930, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xa7bb8db6 | vkCreateShaderModule(): The SPIR-V Capability (GroupNonUniformArithmetic) was declared, but none of the requirements were met to use it. The Vulkan spec states: If pCode declares any of the capabilities listed in the SPIR-V Environment appendix, one of the corresponding requirements must be satisfied (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-VkShaderModuleCreateInfo-pCode-01091)

I don't really understand, what EXACTLY the requirements I need to satisfy. Going to the url didn't really help, I don't think it specifies what I exactly need to do.

Could you please advise how to tackle this issue? Thanks in advance!

Tsyvarev
  • 60,011
  • 17
  • 110
  • 153
Eugene Alexeev
  • 1,152
  • 12
  • 32
  • Does your device show support for `VK_SUBGROUP_FEATURE_ARITHMETIC_BIT` in either `VkPhysicalDeviceSubgroupProperties` or `VkPhysicalDeviceVulkan11Properties`? – vandench May 05 '22 at 12:47
  • Hello! Yes it does - `void algo::VulkanCompute::check_subgroup_properties(vulkan_info &)VK_SUBGROUP_FEATURE_ARITHMETIC_BIT: Supported` – Eugene Alexeev May 06 '22 at 02:23

0 Answers0