Tvm rpc app build fails for vulkan

when I try to build the rpc app with the USE_VULKAN = 1 option in the config.mk file I get the following error:

[arm64-v8a] Compile++ : tvm4j_runtime_packed <= org_apache_tvm_native_c_api.cc In file included from /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/org_apache_tvm_native_c_api.cc:25: In file included from /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/tvm_runtime.h:73: /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/…/…/…/…/…/…/include/…/src/runtime/vulkan/vulkan_device.cc:45:3: error: unknown type name ‘VkPhysicalDeviceDriverProperties’; did you mean ‘VkPhysicalDeviceDriverPropertiesKHR’? VkPhysicalDeviceDriverProperties driver = {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES}; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VkPhysicalDeviceDriverPropertiesKHR /Users/nkaminsky/Library/Android/sdk/ndk/22.0.6917172/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/vulkan/vulkan_core.h:6267:3: note: ‘VkPhysicalDeviceDriverPropertiesKHR’ declared here } VkPhysicalDeviceDriverPropertiesKHR; ^ In file included from /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/org_apache_tvm_native_c_api.cc:25: In file included from /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/tvm_runtime.h:73: /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/…/…/…/…/…/…/include/…/src/runtime/vulkan/vulkan_device.cc:45:46: error: use of undeclared identifier ‘VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES’; did you mean ‘VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR’? VkPhysicalDeviceDriverProperties driver = {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES}; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR /Users/nkaminsky/Library/Android/sdk/ndk/22.0.6917172/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/vulkan/vulkan_core.h:460:5: note: ‘VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR’ declared here VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = 1000196000, ^ In file included from /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/org_apache_tvm_native_c_api.cc:25: In file included from /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/tvm_runtime.h:73: /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/…/…/…/…/…/…/include/…/src/runtime/vulkan/vulkan_device.cc:67:3: error: unknown type name ‘VkPhysicalDevice8BitStorageFeatures’; did you mean ‘VkPhysicalDevice16BitStorageFeatures’? VkPhysicalDevice8BitStorageFeatures storage_8bit = { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VkPhysicalDevice16BitStorageFeatures /Users/nkaminsky/Library/Android/sdk/ndk/22.0.6917172/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/vulkan/vulkan_core.h:4171:3: note: ‘VkPhysicalDevice16BitStorageFeatures’ declared here } VkPhysicalDevice16BitStorageFeatures; ^ In file included from /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/org_apache_tvm_native_c_api.cc:25: In file included from /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/tvm_runtime.h:73: /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/…/…/…/…/…/…/include/…/src/runtime/vulkan/vulkan_device.cc:68:7: error: use of undeclared identifier ‘VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES’; did you mean ‘VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES’? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES}; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES /Users/nkaminsky/Library/Android/sdk/ndk/22.0.6917172/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/vulkan/vulkan_core.h:211:5: note: ‘VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES’ declared here VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000, ^ In file included from /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/org_apache_tvm_native_c_api.cc:25: In file included from /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/tvm_runtime.h:73: /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/…/…/…/…/…/…/include/…/src/runtime/vulkan/vulkan_device.cc:71:3: error: unknown type name ‘VkPhysicalDeviceShaderFloat16Int8Features’; did you mean ‘VkPhysicalDeviceShaderFloat16Int8FeaturesKHR’? VkPhysicalDeviceShaderFloat16Int8Features float16_int8 = { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VkPhysicalDeviceShaderFloat16Int8FeaturesKHR /Users/nkaminsky/Library/Android/sdk/ndk/22.0.6917172/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/vulkan/vulkan_core.h:5598:3: note: ‘VkPhysicalDeviceShaderFloat16Int8FeaturesKHR’ declared here } VkPhysicalDeviceShaderFloat16Int8FeaturesKHR; ^ In file included from /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/org_apache_tvm_native_c_api.cc:25: In file included from /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/tvm_runtime.h:73: /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/…/…/…/…/…/…/include/…/src/runtime/vulkan/vulkan_device.cc:72:7: error: use of undeclared identifier ‘VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES’; did you mean ‘VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR’? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES}; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR /Users/nkaminsky/Library/Android/sdk/ndk/22.0.6917172/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/vulkan/vulkan_core.h:332:5: note: ‘VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR’ declared here VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = 1000082000, ^ In file included from /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/org_apache_tvm_native_c_api.cc:25: In file included from /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/tvm_runtime.h:73: /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/…/…/…/…/…/…/include/…/src/runtime/vulkan/vulkan_device.cc:117:39: error: no member named ‘storageBuffer8BitAccess’ in ‘VkPhysicalDevice16BitStorageFeatures’; did you mean ‘storageBuffer16BitAccess’? supports_8bit_buffer = storage_8bit.storageBuffer8BitAccess; ^~~~~~~~~~~~~~~~~~~~~~~ storageBuffer16BitAccess /Users/nkaminsky/Library/Android/sdk/ndk/22.0.6917172/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/vulkan/vulkan_core.h:4167:24: note: ‘storageBuffer16BitAccess’ declared here VkBool32 storageBuffer16BitAccess; ^ In file included from /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/org_apache_tvm_native_c_api.cc:25: In file included from /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/tvm_runtime.h:73: /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/…/…/…/…/…/…/include/…/src/runtime/vulkan/vulkan_device.cc:199:29: error: use of undeclared identifier ‘VK_API_VERSION_1_2’ if (vulkan_api_version >= VK_API_VERSION_1_2) { ^ /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/…/…/…/…/…/…/include/…/src/runtime/vulkan/vulkan_device.cc:440:3: error: unknown type name ‘VkPhysicalDevice8BitStorageFeatures’; did you mean ‘VkPhysicalDevice16BitStorageFeatures’? VkPhysicalDevice8BitStorageFeatures storage_8bit = { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VkPhysicalDevice16BitStorageFeatures /Users/nkaminsky/Library/Android/sdk/ndk/22.0.6917172/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/vulkan/vulkan_core.h:4171:3: note: ‘VkPhysicalDevice16BitStorageFeatures’ declared here } VkPhysicalDevice16BitStorageFeatures; ^ In file included from /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/org_apache_tvm_native_c_api.cc:25: In file included from /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/tvm_runtime.h:73: /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/…/…/…/…/…/…/include/…/src/runtime/vulkan/vulkan_device.cc:441:7: error: use of undeclared identifier ‘VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES’; did you mean ‘VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES’? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES}; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES /Users/nkaminsky/Library/Android/sdk/ndk/22.0.6917172/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/vulkan/vulkan_core.h:211:5: note: ‘VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES’ declared here VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000, ^ In file included from /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/org_apache_tvm_native_c_api.cc:25: In file included from /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/tvm_runtime.h:73: /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/…/…/…/…/…/…/include/…/src/runtime/vulkan/vulkan_device.cc:444:3: error: unknown type name ‘VkPhysicalDeviceShaderFloat16Int8Features’; did you mean ‘VkPhysicalDeviceShaderFloat16Int8FeaturesKHR’? VkPhysicalDeviceShaderFloat16Int8Features float16_int8 = { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VkPhysicalDeviceShaderFloat16Int8FeaturesKHR /Users/nkaminsky/Library/Android/sdk/ndk/22.0.6917172/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/vulkan/vulkan_core.h:5598:3: note: ‘VkPhysicalDeviceShaderFloat16Int8FeaturesKHR’ declared here } VkPhysicalDeviceShaderFloat16Int8FeaturesKHR; ^ In file included from /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/org_apache_tvm_native_c_api.cc:25: In file included from /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/tvm_runtime.h:73: /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/…/…/…/…/…/…/include/…/src/runtime/vulkan/vulkan_device.cc:445:7: error: use of undeclared identifier ‘VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES’; did you mean ‘VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR’? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES}; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR /Users/nkaminsky/Library/Android/sdk/ndk/22.0.6917172/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/vulkan/vulkan_core.h:332:5: note: ‘VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR’ declared here VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = 1000082000, ^ In file included from /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/org_apache_tvm_native_c_api.cc:25: In file included from /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/tvm_runtime.h:73: /Users/nkaminsky/code/my-tvm/apps/android_rpc/app/src/main/jni/…/…/…/…/…/…/include/…/src/runtime/vulkan/vulkan_device.cc:468:18: error: no member named ‘storageBuffer8BitAccess’ in ‘VkPhysicalDevice16BitStorageFeatures’; did you mean ‘storageBuffer16BitAccess’? storage_8bit.storageBuffer8BitAccess = true; ^~~~~~~~~~~~~~~~~~~~~~~ storageBuffer16BitAccess /Users/nkaminsky/Library/Android/sdk/ndk/22.0.6917172/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/vulkan/vulkan_core.h:4167:24: note: ‘storageBuffer16BitAccess’ declared here VkBool32 storageBuffer16BitAccess; ^ 13 errors generated.

@Lunderberg

someone has an idea what is wrong?

ndk version 23 is required

What is the path you’re giving in VULKAN_SDK ??