并行计算
我有一个二维表格(矩阵)。
我需要独立处理这个矩阵中的每一行,互不影响。
处理每一行的过程比较耗时间。
我想利用我们大学的并行计算资源(好像叫加拿大网格什么的)。
请问我该怎么开始呢?我之前从来没有用过并行计算。
谢谢 :)
5 个回答
0
就像评论里说的那样,去你大学里找个人聊聊。你问题的答案会根据你们那里的软件安装情况而不同。如果你能使用某个计算网格,基本上也能找到一个专门负责解答你问题的人(而且他们会很乐意帮忙)——去找这个人吧!
5
我是一款新库的开发者,这个库叫做 scoop。
这个库正是为了这个目的而创建的(用于网格计算、超级计算和科学计算)。我建议你试试看。
在你的情况下,你只需要像这样调用它:
futures.map(YourFunc, matrixLine)
然后它会在你的网格或你选择的其他环境中进行分发。
6
从这里开始了解:http://docs.python.org/library/multiprocessing.html
一定要看看这个:http://docs.python.org/library/multiprocessing.html#examples
这个可能对你有帮助:http://www.slideshare.net/pvergain/multiprocessing-with-python-presentation。
虽然这个资料很棒,但它同时讲了线程和多进程,实际上多进程通常比多线程要好得多。
在网格计算中,多线程基本上没什么用。
另外,你可能还想了解一下celery。