Cuando uso mis programas python dependientes de la CPU, me doy cuenta que solo utiliza un solo núcleo. ¿Es posible asignar múltiples núcleos al programa cuando lo ejecuto?Asignación de varios núcleos a un programa de Python
Respuesta
Tiene que programar explícitamente para múltiples núcleos. Vea las opciones de multiprocesamiento simétrico en this page para las numerosas soluciones de procesamiento paralelo en Python. Parallel Python es una buena opción si no puede molestarse en comparar las opciones, consulte los ejemplos here.
Sin embargo, algunos problemas no pueden aprovechar los múltiples núcleos. Piensa en cómo podrías subir las escaleras más rápido con la ayuda de tres amigos. ¡No va a pasar!
Si alguna parte de su problema se puede ejecutar en paralelo, usted debe buscar en la multiprocessing module
Me pregunto por qué nadie mencionó GIL de CPython (Global Interpreter Lock) todavía. Básicamente, significa que varios hilos dentro de un intérprete de Python no pueden usar la potencia de múltiples núcleos porque muchas operaciones están protegidas por un bloqueo global para que sea seguro para la ejecución de subprocesos. Esto solo se aplica a una pequeña cantidad de aplicaciones: las vinculadas a la CPU. Para obtener más información, simplemente busque el término "GIL", ya hay muchas preguntas sobre él (como that one, por ejemplo).
Esta respuesta, por supuesto, asume que de hecho está utilizando múltiples hilos, de lo contrario no podrá usar múltiples núcleos de todos modos (multiprocessing sería otra posibilidad).
- 1. Hilos frente a núcleos
- 2. Asignación de varios recursos de un ObjectManager en RestKit
- 3. Reiniciar un programa de Python
- 4. Copia de Python a través de la asignación?
- 5. Compilación de varios archivos en un programa de C
- 6. MATLAB y usar varios núcleos para ejecutar cálculos
- 7. ¿Cómo convierto un programa Python a un programa Runnable .exe de Windows?
- 8. Terminación de un programa de Python
- 9. Python aumentada problema de asignación
- 10. Salida elegante de un programa en Python?
- 11. ¿Cómo ejecuto un programa de Python?
- 12. Descripción de asignación de memoria, programa de prueba fallando
- 13. Python asignación de referencia variable
- 14. Terminar un programa python multihilo
- 15. Asignación de un valor a un elemento de un sector en Python
- 16. Núcleos precalculados de Libsvm
- 17. MPI: ¿núcleos o procesadores?
- 18. Decapado de varios subprocesos en Python
- 19. cómo ejecutar varios ejecutables usando python?
- 20. Necesito un programa de control de entrada en python
- 21. Asignación compuesta a la clase Python y variables de instancia
- 22. Scala equivalente a Python devolver varios artículos
- 23. Asignación de objetos de seguimiento en python
- 24. ¿Por qué un único proceso con hilos se ejecuta en varios procesadores/núcleos?
- 25. ¿Cómo dividir un programa en C en varios archivos?
- 26. Cómo aumentar la asignación de memoria al programa
- 27. ¿Puedo/debo implementar métodos de Python por asignación a atributos?
- 28. Llamar a python desde un programa C++ para su distribución
- 29. Ejecutar programa python desde otro programa python (con ciertos requisitos)
- 30. Método de asignación múltiple en Python