对于一个令人尴尬的并行问题,最好的解决方案是什么?

Xzh*_*hsh 5 parallel-processing

对于模糊的主题问题,我很抱歉,但我正在研究一些学术视频处理程序.这些算法是用MATLAB编写的,虽然它可以用于开发目的,但它处理的视频大约为60spf,或大约为0.0166fps.毋庸置疑,这对于演示等都不够,所以我的暑期工作就是将例行程序转换为运行速度极快的程序.

我已经重写了CUDA代码中最慢的部分,即nvidia的GPGPU解决方案.但是,还有很大一部分代码似乎在CPU上做得更好,因为它是相对串行的.问题是,我给的机器有2个Xeon处理器,共有8个逻辑核心,通过仅编码单核来编码GPU代码似乎是一种耻辱.视频转换过程的功能在于每个帧都不依赖于其他帧,所以我认为某种异步队列/流最好.

这就是我的问题:实现这种并行性的最佳方法是什么才能以最快的速度提高产量?

我看过的一些解决方案是OpenMP,.net TPL和简单的pthread.

我只对异步编程有基本的接触,所以我宁愿使用一个库或其他东西,而不是乱用互斥和障碍,并多次射击自己.我不介意学习,因为这是我今年夏天的目标之一,但与此同时,并行性很难.但是,如果速度差实际上非常明显,我愿意把头发拉出几个星期.:P

提前致谢.