Firefly开源社区

打印 上一主题 下一主题

[Linux] ubuntu18.04 Mali-T860 GPU 浮点加速无效

4

积分

0

威望

0

贡献

吃瓜的群众

积分
4

ubuntu18.04 Mali-T860 GPU 浮点加速无效

发表于 2020-11-19 10:36:50      浏览:7767 | 回复:0        打印      只看该作者   [复制链接] 楼主
C:\Users\SCI-Q2\Desktop\微信图片_20201119095759.jpg
我调用opencv的canny边缘检测的函数进行浮点运算,使用umat格式的数据参数,opencv会自动调用opencl的接口进行GPU加速,但是opencl 返回报错说是无效的设备,错误截图如上。测试代码如下:
#include <iostream>
#include "opencv2/opencv.hpp"
#include "opencv2/core/ocl.hpp"
#include "opencv2/imgcodecs.hpp"
#include "opencv2/videoio/videoio.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"

using namespace std;
using namespace cv;
using namespace cv::ocl;

#define DSP 1

int main()
{
    double t = 0.0;
#if DSP
    std::vector<cv::ocl::PlatformInfo> plats;
    cv::ocl::getPlatfomsInfo(plats);
    const cv::ocl::PlatformInfo *platform = &plats[0];
    cout << "Platform Name:" << platform->name().c_str() << endl;

    cv::ocl::Device c_dev;
    platform->getDevice(c_dev,0);
    cout << "Device name:" << c_dev.name().c_str() << endl;
    c_dev.set(0);
    cv::ocl::setUseOpenCL(true);
    cout << "Use the OpenCL Deivice?" << cv::ocl::useOpenCL() << endl;

    cv::UMat Ori = cv::imread("./bigKeyboard.bmp").getUMat(cv::ACCESS_RW),Res,Canny;

    t = (double)cv::getTickCount();
    cv::cvtColor(Ori,Res,cv::COLOR_RGB2GRAY);
    cv::Canny(Res,Res,0,30);
    t = ((double)cv::getTickCount() - t) / cv::getTickFrequency();
    std::cout << "TI AM57x Accelerate Time Cost:" << t << "s" << std::endl;
    cv::imshow("Test",Ori);
    cv::imshow("Gray",Res);
#else
    Mat I = imread("./bigKeyboard.bmp"),gray;

    t = (double)cv::getTickCount();
    cv::cvtColor(I,gray,cv::COLOR_RGB2GRAY);
    cv::Canny(gray,gray,0,30);
    t = ((double)cv::getTickCount() - t) / cv::getTickFrequency();
    std::cout << "CPU Time Cost:" << t << "s" << std::endl;
    cv::imshow("Ori",I);
    cv::imshow("Res",gray);
#endif

    for (;;)
    {
        int key = waitKey();
        if (key == 27/*ESC*/ || key == 'q' || key == 'Q')
            break;
    }
    return 0;
}

有知道原因的大神,请帮忙解答下,深表感谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表