mmdeploy/csrc/device/vulkan/vulkan_device.cpp
lvhan028 36124f6205
Merge sdk (#251)
* check in cmake

* move backend_ops to csrc/backend_ops

* check in preprocess, model, some codebase and their c-apis

* check in CMakeLists.txt

* check in parts of test_csrc

* commit everything else

* add readme

* update core's BUILD_INTERFACE directory

* skip codespell on third_party

* update trt_net and ort_net's CMakeLists

* ignore clion's build directory

* check in pybind11

* add onnx.proto. Remove MMDeploy's dependency on ncnn's source code

* export MMDeployTargets only when MMDEPLOY_BUILD_SDK is ON

* remove useless message

* target include directory is wrong

* change target name from mmdeploy_ppl_net to mmdeploy_pplnn_net

* skip install directory

* update project's cmake

* remove useless code

* set CMAKE_BUILD_TYPE to Release by force if it isn't set by user

* update custom ops CMakeLists

* pass object target's source lists

* fix lint end-of-file

* fix lint: trailing whitespace

* fix codespell hook

* remove bicubic_interpolate to csrc/backend_ops/

* set MMDEPLOY_BUILD_SDK OFF

* change custom ops build command

* add spdlog installation command

* update docs on how to checkout pybind11

* move bicubic_interpolate to backend_ops/tensorrt directory

* remove useless code

* correct cmake

* fix typo

* fix typo

* fix install directory

* correct sdk's readme

* set cub dir when cuda version < 11.0

* change directory where clang-format will apply to

* fix build command

* add .clang-format

* change clang-format style from google to file

* reformat csrc/backend_ops

* format sdk's code

* turn off clang-format for some files

* add -Xcompiler=-fno-gnu-unique

* fix trt topk initialize

* check in config for sdk demo

* update cmake script and csrc's readme

* correct config's path

* add cuda include directory, otherwise compile failed in case of tensorrt8.2

* clang-format onnx2ncnn.cpp

Co-authored-by: zhangli <lzhang329@gmail.com>
Co-authored-by: grimoire <yaoqian@sensetime.com>
2021-12-07 10:57:55 +08:00

110 lines
3.5 KiB
C++

// Copyright (c) OpenMMLab. All rights reserved.
//
//#include "vulkan_device.h"
//
// namespace mmdeploy {
//
// VulkanPlatform::VulkanPlatform() {
// vk::InstanceCreateInfo info{};
// instance_ = vk::createInstance(info);
// device_group_ = instance_.enumeratePhysicalDeviceGroups()[0];
// ctx_.resize(device_group_.physicalDeviceCount);
//}
//
//
// int VulkanPlatform::CreateDevice(int idx) {
// if (ctx_[idx].device) {
// return M_SUCCESS;
// }
// try {
// auto& physical_device = device_group_.physicalDevices[idx];
// uint32_t queue_family = 0;
// auto properties = physical_device.getQueueFamilyProperties();
// for (size_t i = 0; i < properties.size(); ++i) {
// auto& p = properties[i];
// if (p.queueFlags & vk::QueueFlagBits::eCompute) {
// fprintf(stderr, "%d\n", (int)p.queueCount);
// queue_family = i;
// break;
// }
// }
// vk::DeviceQueueCreateInfo queue_info;
// float queue_priority = 0.f;
// queue_info.setQueueFamilyIndex(queue_family);
// queue_info.setPQueuePriorities(&queue_priority);
// queue_info.setQueueCount(1);
//
// vk::DeviceCreateInfo device_info;
// device_info.setQueueCreateInfoCount(1);
// device_info.setPQueueCreateInfos(&queue_info);
//
// auto device = physical_device.createDevice(device_info);
//
// ctx_[idx].device = device;
// ctx_[idx].queue = device.getQueue(queue_family, 0);
// } catch (...) {
// return Status(eFail);
// }
// return M_SUCCESS;
//}
//
// int VulkanPlatform::CreateBuffer(int32_t device_id, size_t size,
// size_t alignment, Buffer* buffer) {
// GetDevice(device_id);
// return 0;
//}
//
// int VulkanPlatform::CreateStream(int32_t device_id, Stream* stream) {
// *stream = Stream(std::make_shared<VulkanStream>(GetDevice(device_id),
// ctx_[device_id].queue));
// return 0;
//}
//
// int VulkanPlatform::CreateEvent(int32_t device_id, Event* event) { return 0; }
//
// int VulkanPlatform::Copy(const void* host_ptr, Buffer dst, size_t size,
// size_t dst_offset, Stream stream) {
// return 0;
//}
//
// int VulkanPlatform::Copy(Buffer src, void* host_ptr, size_t size,
// size_t src_offset, Stream stream) {
// return 0;
//}
//
// int VulkanPlatform::Copy(Buffer src, Buffer dst, size_t size, size_t src_offset,
// size_t dst_offset, Stream stream) {
// return 0;
//}
//
// VulkanBuffer::VulkanBuffer(DeviceType device, size_t size)
// : BufferImpl(std::get<Device>(device)) {
// vk::BufferCreateInfo info;
// info.setSize(size);
// info.setUsage(vk::BufferUsageFlagBits::eStorageBuffer);
// std::get<vk::Device>(device).createBuffer(info);
//}
// int VulkanBuffer::Deinit() { return 0; }
// void* VulkanBuffer::GetNative(ErrorCode* ec) { return nullptr; }
// size_t VulkanBuffer::GetSize(ErrorCode* ec) { return 0; }
// void VulkanBuffer::MemoryHandleDestructor(MemoryHandle* memory) {}
//
//////////////////////////////////////////////////////////////////////////////////
///// OclPlatformRegisterer
//
// class VulkanPlatformRegisterer {
// public:
// VulkanPlatformRegisterer() {
// gPlatformRegistry().Register(
// [] { return std::make_shared<VulkanPlatform>(); });
// }
//};
//
// VulkanPlatformRegisterer g_vulkan_platform_registerer;
//
// VulkanStream::VulkanStream(DeviceType device, vk::Queue queue)
// : StreamImpl(std::get<Device>(device)), queue_(queue) {}
//
//} // namespace mmdeploy