论文部分内容阅读
为了合理利用多核集群并提高CPU的使用效率,在MATLAB分布式并行计算集群环境下研究了PCA人脸识别算法和Image Quilting纹理合成算法的并行优化设计。深入分析集群整体架构、软硬件体系结构、算法编程模型等,结合串行程序自身的结构特点完成并行编程过程,发挥多核潜力提升多核应用程序的性能。研究工作重点内容如下:一方面针对PCA人脸识别算法,研究了多线程构建模块并行编程模式,从而提高程序的性能。在MATLAB集群环境下对PCA人脸识别算法设计了训练识别生成样本的功能模块train,通过任务分割实现了算法的并行化。实验结果表明,94.167%的稳定识别率和趋近线性的加速比验证了并行算法的正确性和高效性,从而进一步阐明并行应用程序的开发。通过MATLAB分布式并行计算集群和并行方法在不对算法应用造成过多影响的情况下,在多核计算机或计算机集群上更好的解决大数据量密集型计算优化问题。另一方面针对Image Quilting纹理合成算法新旧纹理块拼接的特点,研究了一种创建多任务实现纹理块切割拼接的并行编程模式。设计了重叠区域缝合路径计算的多任务模块函数iq0,利用MATLAB多核集群中创建的调度器将子任务分配到各个节点上并行执行计算。实验结果表明该算法获得了较好的加速比,提高了多核CPU的使用效率,有效地提升了多核计算机资源的利用率。研究工作的特点在于通过多线程创建、动态配置任务管理器、设置线程数量以及线程调度策略等设计了MATLAB并行应用程序提高算法性能。此外,算法的改进与开发需要注意数据共享、模块分割、任务并行以及处理器核数之间的分配与负载平衡,保证多核处理器各个核处于高负载状态并准确完成并行计算任务。通过MATLAB多核集群平台上的验证,有效改进了PCA人脸识别算法和Image Quilting纹理合成算法中串行程序的性能瓶颈,提高了CPU的工作效率并充分利用了多核资源,同时也证明了图形图像算法应用与多核并行计算技术相结合的优势。