并行计算,matlab 下的并行计算2

最近做程序,虽然速度比以前有了很大的提高,但是和老板的python 语言相比,还是有点慢,python 是一种类似于C++的比较底层的语言,而我一直在用matlab,给人的感觉就是不如c++语言快。matlab6.5-matlab 2007b这些版本中,fft, fft2, fftn, ifft, ifft2, ifftn是默认支持多线程运算的,即只要调用这些函数,系统在运算时会开启多线程(计算机硬件须支持)matlab 2008a-matlab 2009a这些版本中,增加了prod, sum, max, min这几个函数的多线程运算功能,但是matlab内核版本不同会导致这些函数在多线程执行时效率不同。matlab虽然自主帮你的程序并行,那是最原始的处理方法,后用matlabpool 和 parfor可以进一步的优化,但仍然达不到所期望的那种,最讨厌的是如果涉及cpu 之间的数据交换,可能导致速度还没有单cpu的快。 GPU加速虽然很给力,但是现在小组里面,只能利用集群的多cpu经行加速。 建议使用 pmode 和Spmd(single programmultiple data),效果不错,尤其是做相互独立的计算。
Tags:  并行计算导论 什么是并行计算 并行计算综论 并行计算实验报告 并行计算

延伸阅读

最新评论

发表评论