OpenMP и Python

У меня есть опыт программирования OpenMP для машин с общей памятью (как на C, так и на FORTRAN )для выполнения простых задач, таких как сложение матриц, умножение и т. д. (Просто чтобы посмотреть, как он конкурирует с LAPACK ). Я знаю OpenMP достаточно, чтобы выполнять простые задачи без необходимости заглядывать в документацию.

Недавно я перешел на Python для своих проектов, и у меня нет никакого опыта работы с Python, кроме абсолютных основ.

Мой вопрос:

Каков самый простой способ использования OpenMP в Python? Под самым простым я подразумеваю тот, который требует наименьших усилий со стороны программиста (, даже если это происходит за счет дополнительного системного времени )?

Причина, по которой я использую OpenMP, заключается в том, что последовательный код может быть преобразован в работающий параллельный код с помощью нескольких разбросанных !$OMP. Время, необходимое для грубого распараллеливания, удивительно мало. Есть ли способ воспроизвести эту функцию в Python?

Просматривая SO, я могу найти:

  • Расширения C
  • Бесстековый Python

Есть ли еще? Что лучше всего соответствует моему вопросу?

53
задан 6 July 2012 в 08:24
поделиться