并行计算

2 投票
5 回答
1231 浏览
提问于 2025-04-17 09:34

我有一个二维表格(矩阵)。

我需要独立处理这个矩阵中的每一行,互不影响。

处理每一行的过程比较耗时间。

我想利用我们大学的并行计算资源(好像叫加拿大网格什么的)。

请问我该怎么开始呢?我之前从来没有用过并行计算。

谢谢 :)

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

撰写回答