У меня есть опыт в кодировании OpenMP для компьютеров с общей памятью (как в C, так и в FORTRAN) для выполнения простых задач, таких как сложение матриц, умножение и т.д. (просто посмотреть, как он конкурирует с LAPACK). Я знаю, что OpenMP достаточно для выполнения простых задач без необходимости просмотра документации.
Недавно я перешел на Python для своих проектов, и у меня нет опыта работы с Python за пределами абсолютных основ.
Мой вопрос:
Каков самый простой способ использования OpenMP в Python? Проще всего, я имею в виду тот, который требует минимальных усилий на стороне программиста (даже если это происходит за счет дополнительного системного времени)?
Причина, по которой я использую OpenMP, заключается в том, что серийный код может быть преобразован в рабочий параллельный код с несколькими !$OMP
, разбросанными вокруг. Время, необходимое для достижения грубой распараллеливания, увлекательно мало. Есть ли способ воспроизвести эту функцию в Python?
От просмотра в SO, я могу найти:
- Расширения C
- StackLess Python
Есть ли еще? Что лучше всего подходит для моего вопроса?