cmdbug / TNN_Demo

🍉 移动端TNN部署学习笔记,支持Android与iOS。
GNU General Public License v3.0
71 stars 18 forks source link

Get OpenCL command queue failed! #2

Closed PanJinquan closed 3 years ago

PanJinquan commented 3 years ago

你好,我使用华为手机,尝试使用GPU运行(CPU测试正常),但一直出错:Get OpenCL command queue failed! 请问大神是怎么跑通GPU的

cmdbug commented 3 years ago

正在排查,,,QAQ

cmdbug commented 3 years ago
    // 模型输入
    TNN_NS::DimsVector target_dims = {1, 4, net_height, net_width};
    auto resize_mat = std::make_shared<TNN_NS::Mat>(dt, TNN_NS::N8UC4, target_dims);
    // opencl需要设置queue
    void *command_queue = nullptr;
    auto status = YoloV5::instance->GetCommandQueue(&command_queue);
    if (status != TNN_NS::TNN_OK) {
        TLOGE("MatUtils::GetCommandQueue Error: %s", status.description().c_str());
    }
    // 转换大小
    TNN_NS::ResizeParam param;
    param.type = TNN_NS::InterpType::INTERP_TYPE_NEAREST;
    status = TNN_NS::MatUtils::Resize(*input_mat, *resize_mat, param, command_queue);
    if (status != TNN_NS::TNN_OK) {
        TLOGE("MatUtils::Resize Error: %s", status.description().c_str());
    }

官方说明需要加上queue,试试

cmdbug commented 3 years ago

看下这里的说明,已经可以用了。 https://github.com/Tencent/TNN/issues/721

cmdbug commented 3 years ago

更新代码,gpu正常了。