Quali sono le opzioni per ottenere il parallelismo in Python? Voglio eseguire un mucchio di calcoli legati alla CPU su alcuni raster molto grandi e vorrei parallelizzarli. Venendo da uno sfondo C, ho familiarità con tre approcci al parallelismo:Parallelismo in Python
- Processi di passaggio di messaggi, eventualmente distribuiti in un cluster, ad es. MPI.
- esplicito parallelismo della memoria condivisa, sia utilizzando pthreads o fork(), tubo(), et. al
- Parallelismo memoria condivisa implicita, utilizzando OpenMP.
Decidere su un approccio da utilizzare è un esercizio di compromessi.
In Python, quali approcci sono disponibili e quali sono le loro caratteristiche? È disponibile un clone MPI clustering? Quali sono le modalità preferite per ottenere il parallelismo della memoria condivisa? Ho sentito parlare di problemi con lo GIL, nonché i riferimenti alle attività .
In breve, cosa è necessario sapere sulle diverse strategie di parallelizzazione in Python prima di scegliere tra esse?
Ciò non aiuta effettivamente la concorrenza del codice associato alla cpu. – Antimony