From dd5dbd98fa411abbd1ad00bd460f36cc130cd024 Mon Sep 17 00:00:00 2001 From: masahi Date: Sat, 20 Mar 2021 05:44:05 +0900 Subject: [PATCH] [Vulkan] Workaround for zero size allocation (#7691) --- src/runtime/vulkan/vulkan.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/runtime/vulkan/vulkan.cc b/src/runtime/vulkan/vulkan.cc index ff1b82f930d7..f56318aee94d 100644 --- a/src/runtime/vulkan/vulkan.cc +++ b/src/runtime/vulkan/vulkan.cc @@ -120,6 +120,10 @@ class VulkanDeviceAPI final : public DeviceAPI { std::vector GetComputeQueueFamilies(VkPhysicalDevice phy_dev); void* AllocDataSpace(TVMContext ctx, size_t nbytes, size_t alignment, DLDataType type_hint) final { + if (nbytes == 0) { + // Vulkan seems to have issues if we return nullptr on zero size alloc + nbytes = 1; + } const auto& vctx = context(ctx.device_id); VkBufferCreateInfo info; info.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO;