ncnn icon indicating copy to clipboard operation
ncnn copied to clipboard

windows 10 使用 vulkan 利用 gpu 加速推理的时候,每次退出都会崩溃。0x00007FFB6D8A1515 (nvoglv64.dll)

Open YuHe0108 opened this issue 1 year ago • 2 comments

detail | 详细描述 | 詳細な説明

image

std::shared_ptrncnn::Net ncnnNet = std::make_sharedncnn::Net();

析构函数: ncnnNet->clear(); ncnnNet.reset(); ncnn::destroy_gpu_instance();

YuHe0108 avatar Aug 09 '24 02:08 YuHe0108

detail | 详细描述 | 詳細な説明

image

std::shared_ptrncnn::Net ncnnNet = std::make_sharedncnn::Net();

析构函数: ncnnNet->clear(); ncnnNet.reset(); ncnn::destroy_gpu_instance();

如果有pool_allocator = new ncnn::PoolAllocator(); ,需要pool_allocator->clear();再delete。

如果有 blob_vkallocator = new ncnn::VkBlobAllocator(vkdev); ,需要delete blob_vkallocator; 再delete。

如果有注册了custom op for vulkan ,并使用 compile_spirv_module() 函数进行编译glsl到spirv,然后 new ncnn::Pipeline(vkdev); 到 ncnn::Pipeline* 中,同样也需要注意按顺序delete。

whyb avatar Aug 28 '24 02:08 whyb

detail | 详细描述 | 詳細な説明

image std::shared_ptrncnn::Net ncnnNet = std::make_sharedncnn::Net(); 析构函数: ncnnNet->clear(); ncnnNet.reset(); ncnn::destroy_gpu_instance();

如果有pool_allocator = new ncnn::PoolAllocator(); ,需要pool_allocator->clear();再delete。

如果有 blob_vkallocator = new ncnn::VkBlobAllocator(vkdev); ,需要delete blob_vkallocator; 再delete。

如果有注册了custom op for vulkan ,并使用 compile_spirv_module() 函数进行编译glsl到spirv,然后 new ncnn::Pipeline(vkdev); 到 ncnn::Pipeline* 中,同样也需要注意按顺序delete。

全都没有用到,我是这样推理的 image

YuHe0108 avatar Aug 28 '24 02:08 YuHe0108