Paralelismo en Python

¿Cuáles son las opciones para lograr paralelismo en Python? Quiero realizar un montón de cálculos vinculados a la CPU sobre algunos rásteres muy grandes, y me gustaría paralelizarlos. Viniendo de un fondo C, estoy familiarizado con tres enfoques para el paralelismo:

Procesos de paso de mensajes, posiblemente distribuidos en un clúster, p. Ej.MPI.Paralelismo explícito de memoria compartida, ya sea utilizandohilos de rosca otenedor(), tubo()et. AlabamaParalelismo implícito de memoria compartida, utilizandoOpenMP.

Decidir 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 clusterableMPI ¿clon? ¿Cuáles son las formas preferidas de lograr el paralelismo de la memoria compartida? He escuchado referencias a problemas con elGIL, así como referencias atasklets.

En resumen, ¿qué necesito saber sobre las diferentes estrategias de paralelización en Python antes de elegir entre ellas?

Respuestas a la pregunta(5)

Su respuesta a la pregunta