我现在用AM5728开发板,发现2个DSP的firmware都链接到opencl上,如下:
dra7-dsp1-fw.xe66 ->/lib/firmware/dra7-dsp1-fw.xe66.xe66.opencl-monitor
dra7-dsp2-fw.xe66 ->/lib/firmware/dra7-dsp2-fw.xe66.xe66.opencl-monitor
经过研究,发现ti是默认将opencv的函数通过opencl分配到2个dsp上执行,这样会导致一个问题,对于我的项目来说,算法既需要调用opencv的函数,又需要调用自己的算法来运算,我本来的想法是用dsp1跑自己的算法,dsp2通过opencl跑opencv,当我把dra7-dsp1-fw.xe66 ->myown.xe66后,通过arm调用dsp2就没法跑opencv了。
现在我的想法是将opencv完整的分配到一个dsp上通过opencl给ARM调用,另一个dsp跑自己的算法,不知这样是否可行?如果可行需要怎么做呢?
欢迎大家来讨论,求大神指点!
yongqing wang:
另外一个DSP跑你自己的算法,不也得用opencl吗?
user5875077:
回复 yongqing wang:
我现在直接通过IPC去调用dsp1的,没有用opencl。您的意思是把自己的算法加到dra7-dsp1-fw.xe66.xe66.opencl-monitor这个bin里面去吗?
Denny%20Yang99373:
回复 user5875077:
可以把两个DSP都用来跑自己的算法
用IPC,或者自己写MAILBOX驱动
user5875077:
回复 Denny%20Yang99373:
您好,我想在dsp1上跑OPENCV,dsp2上跑自己的算法,请问TI怎么将opencv移植到dsp上,发个文档参考一下。不胜感激
yongqing wang:
回复 user5875077:
我的使用方式是直接调用opencl
yongqing wang:
回复 user5875077:
opencv有opencl的优化选项,建议交叉编译opencv的时候开启这个
yongqing wang:
回复 user5875077:
如果打算将整个opencv的库都使用DSP的原本的接口优化的化是个比较庞大的工程,或者你可以将你需要的算法从opencv中移植出来,单独对一小块的算法使用DSP比较容易了
yongqing wang:
回复 yongqing wang:
opencv的OPENCL的优化并不完善,最好自己针对性的优化
user5875077:
回复 yongqing wang:
你好,有没有方法把dra7-dsp1-fw.xe66.xe66.opencl-monitor 和 dra7-dsp2-fw.xe66.xe66.opencl-monitor 合成一个文件,这样就可以空出一个dsp跑自己的算法了,同时还能通过opencl跑TI优化过的opencv
yongqing wang:
回复 user5875077:
这个没有尝试过