日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OpenVINO使用OpenCL内存执行,避免拷贝

發(fā)布時間:2023/12/15 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenVINO使用OpenCL内存执行,避免拷贝 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、簡介

出于性能考慮,通常 CPU 無法滿足耗時的要求,網(wǎng)絡需要執(zhí)行在 GPU 上增強性能,而數(shù)據(jù)的處理通常使用 OpenCL 也會比 CPU 快很多。

所以我們要是可以直接將 OpenCL 處理后的內(nèi)存給 OpenVINO 執(zhí)行,就可以避免將 OpenCL 內(nèi)存拷貝到 CPU 上,再從 CPU 拷貝到 OpenVINO 中。

其實 OpenVINO 已經(jīng)支持直接使用 OpenCL 的內(nèi)存,只要他們公用一個 Context 即可。

二、使用

1.官方資料

本文是基于 OpenVINO 2021 的 SDK 寫的,參考的官方文檔鏈接為:https://docs.openvino.ai/2021.4/openvino_docs_IE_DG_supported_plugins_GPU_RemoteBlob_API.html

另外 OpenVINO 2022 的接口有所變動,可以參考這篇文檔:https://docs.openvino.ai/latest/openvino_docs_OV_UG_supported_plugins_GPU_RemoteTensor_API.html

2.使用外部cl_context

#include <inference_engine.hpp> #include <gpu/gpu_context_api_ocl.hpp> #include <opencv2/core/ocl.hpp> #include <opencv2/core/opencl/runtime/opencl_core.hpp>using namespace InferenceEngine;// 1.創(chuàng)建 Core ie; auto net = ie.ReadNetwork("network.xml"); // 舉例使用 OpenCV 提供的 cl_context,用者替換為自己的 cl_context cl_context ctx = static_cast<cl_context>(cv::ocl::Context::getDefault().ptr()); auto remote_context = gpu::make_shared_context(mCore, "GPU", ctx); ExecutableNetwork network = ie.LoadNetwork(net, remote_context); InferRequest request = network.CreateInferRequest();// 2.設置數(shù)據(jù) InputsDataMap& inputs = network.getInputsInfo(); for (auto& input : inputs) {auto& input_name = input.first;InputInfo::Ptr& input_info = input.second;// 這里是 cv::UMat uMat,用者替換為自己的 cl_memcl_mem shared_buffer = static_cast<cl_mem>(umat_in.u->handle);auto shared_blob = gpu::make_shared_blob(input_info->getTensorDesc(), network.GetContext(), shared_buffer);request.SetBlob(input_name, shared_blob); } for (auto& output : outputs) {auto& output_name = output.first; //output也是一個鍵值對類型DataPtr& output_info = output.second;// 這里是 cv::UMat uMat,用者替換為自己的 cl_memcl_mem shared_buffer = static_cast<cl_mem>(umat_out.u->handle);auto shared_blob = gpu::make_shared_blob(output_info->getTensorDesc(), network.GetContext(), shared_buffer);request.SetBlob(output_name, shared_blob); }// 3.執(zhí)行 request.Infer();// 4.獲取輸出,輸出數(shù)據(jù)已經(jīng)直接輸出到 umat_out 中了。

總結

以上是生活随笔為你收集整理的OpenVINO使用OpenCL内存执行,避免拷贝的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 中文字幕亚洲精品在线 | 国内精品嫩模av私拍在线观看 | 欧美日本一区二区三区 | 在线观看无码精品 | av片久久 | 亚洲少妇毛片 | 日韩视频在线一区 | 久久久一级 | 男人天堂视频在线 | 三级精品视频 | 国产欧美一区二区视频 | 超碰在线免费播放 | 午夜精品久久久久久久91蜜桃 | 污污软件在线观看 | 日韩啪 | 97超碰碰 | 自拍中文字幕 | 日韩女优在线播放 | 九九热在线视频免费观看 | 午夜色图 | av日韩国产 | 国产成人在线精品 | 一区二区在线不卡 | 又黄又免费的网站 | 久久亚洲天堂网 | 成人综合在线观看 | 亚洲国产剧情 | 樱花视频在线观看 | 亚洲人在线观看 | 欧美骚视频 | 一区二区三区四区精品 | 99ri精品 | 国产第三区 | 狠狠躁18三区二区一区视频 | 一区二区三区不卡视频 | 娇妻之欲海泛舟无弹窗笔趣阁 | 一区二区三区色 | 免费av在线播放网址 | 天堂资源地址在线 | 大陆一级片| 制服丝袜成人动漫 | 亚洲天堂一区二区三区 | 久热99| 青草精品视频 | 国产精品一二三区在线观看 | 狠狠爱网站 | 天天综合永久入口 | 欧美爱爱网站 | 中文字幕一区二区在线观看 | 亚洲精品伊人 | 成人久久网| 精品视频一区二区三区在线观看 | 亚洲成人另类 | 青在线视频 | 国产一区,二区 | 久久影院午夜理论片无码 | 激情www| 中文在线字幕免费观 | 毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 亚洲无码精品在线播放 | 日韩成人免费av | 成片免费观看视频大全 | 欧美性大战久久久久久久 | 在线免费观看日韩av | 日韩精品欧美精品 | 黑人玩弄人妻一区二区三区影院 | 日本三级吹潮 | 玖玖精品在线视频 | 国产精品麻豆视频 | 97色伦影院 | 亚洲欧洲视频在线观看 | 日本手机看片 | a天堂在线资源 | 久久久久无码国产精品 | 香蕉在线视频观看 | 欧美在线亚洲 | 成人一级视频在线观看 | 亚洲黄网在线观看 | 无码av免费毛片一区二区 | 日韩av电影手机在线观看 | 黄色国产在线观看 | 蜜桃av影院 | 亚洲欧美日韩电影 | 美女网站视频在线观看 | 最新永久地址 | 成人久久久久久 | 亚洲国产av一区二区三区 | 在线免费av播放 | 无码精品一区二区免费 | 日本真人做爰免费视频120秒 | 久久精品欧美视频 | 国内毛片毛片毛片毛片毛片 | 亚洲色图p | 在线观看日韩av电影 | 亚洲精品中文字幕乱码三区 | 午夜片在线观看 | 欧美日韩成人免费观看 | av夜色| 天天毛片|