многопроцессорный питон - PullRequest
5 голосов
/ 12 марта 2012

Как проще всего использовать все ядра компьютера для программы на python? В частности, я хотел бы распараллелить функцию numpy (которая уже существует). Есть ли что-то вроде openmp под fortran в python?

Ответы [ 3 ]

7 голосов
/ 12 марта 2012

Проверьте многопроцессорную библиотеку .Это даже позволяет распределить работу по нескольким компьютерам.

2 голосов
/ 12 марта 2012

Это зависит от того, что вы хотите сделать, и от того, как numpy компилируется на вашем компьютере (в некоторых случаях использование нескольких ядер будет автоматическим). Подробнее см. на этой странице .

0 голосов
/ 15 марта 2012

Это может или не может соответствовать вашей конкретной проблеме, которую вы хотите решить, но я лично считаю параллельную инфраструктуру оболочки ipython довольно привлекательной.Относительно легко настроить ipcluster на localhost (см. в руководстве ).

Вы можете обернуть свою функцию, которую хотите оценить, в декоратор @parallel, например, и ее оценкубудет распределен между многими ядрами (см. раздел Быстрый и простой параллелизм в руководстве)

...