¿Cuáles son las opciones para lograr el paralelismo en Python? Quiero realizar un montón de cálculos de CPU vinculados sobre algunos rásteres muy grandes, y me gustaría paralelizarlos. Procedente de C, estoy familiarizado con tres enfoques de paralelismo:Paralelismo en Python
- Procesos de aprobación de mensajes, posiblemente distribuidos en un clúster, p. MPI.
- explícita paralelismo de memoria compartida, ya sea usando pthreads o tenedor(), tubo(), et. al
- paralelismo de memoria implícita compartida, usando OpenMP.
Decidir sobre un enfoque de uso es un ejercicio de compensaciones.
En Python, ¿qué enfoques están disponibles y cuáles son sus características? ¿Hay un clon de MPI clon? ¿Cuáles son las formas preferidas de lograr el paralelismo de la memoria compartida? He oído referencias a problemas con GIL, así como referencias a tasklets.
En resumen, ¿qué necesito saber sobre las diferentes estrategias de paralelización en Python antes de elegir entre ellas?
Eso en realidad no ayuda con la concurrencia del código encuadernado a la CPU. – Antimony