PDA

查看完整版本 : [讨论]Matlab模型并行运算的问题


china-oui
2009-02-03, 23:59
在下是Matlab的初学者,最近编写了一个小程序,现在遇到计算速度瓶颈的问题,对于Matlab的并行运算不甚了解,望高手指点一二,谢谢,
程序大致如下:
在一个规则的网络中(比如100行by100列的‘十’字型网络,总共有10000个单元),能量物质(如营养物质)在网络中按照一定的规律(物质的浓度梯度)传递,因此每个单元格内的物质浓度与其相连的邻居单元格内的浓度相关;
在每个单元格内生长有生物,所有的生物可在网格中按照一定规律自由穿行;
每隔一秒钟计作一个模拟的时间间隔;
这样的话若要模拟数年之久的时间,所需要的运算时间会很长;

因此可否分成并行的数个模型来运算(比如100个并行的程序,即把100by100的网格分成100个10by10的网格,然后在每运算一步之后进行边界条件的运算:即两个相连的10by10的小网格之间的物质传递和生物传递);

望各位智者帮忙分析分析,若有更好建议,不甚感激!


oui

cao_yinfeng
2009-02-22, 15:30
初步感觉你的问题是可以可以用并行计算的方法来提升技术效率。
一种是用Matlab的语言来做
另外一种是重新采用C或者fortran,
具体选择哪种,需要更详细地了解你的算法才好。

--------------------------------------------------------------------------------------------------------------
在下是Matlab的初学者,最近编写了一个小程序,现在遇到计算速度瓶颈的问题,对于Matlab的并行运算不甚了解,望高手指点一二,谢谢,
程序大致如下:
在一个规则的网络中(比如100行by100列的‘十’字型网络,总共有10000个单元),能量物质(如营养物质)在网络中按照一定的规律(物质的浓...