Articles of python multiproceso

No se puede declinar la expresión de Pyparsing con el método setParseAction (). Necesario para multiprocesamiento

Mi problema original es que estoy tratando de hacer lo siguiente: def submit_decoder_process(decoder, input_line): decoder.process_line(input_line) return decoder self.pool = Pool(processes=num_of_processes) self.pool.apply_async(submit_decoder_process, [decoder, input_line]).get() El decodificador es un poco complicado de describir aquí, pero lo importante es que el decodificador es un objeto que se inicializa con la expresión PyParsing que llama a setParseAction (). Esto […]

Detectar tareas fallidas en concurrent.futures

He estado utilizando concurrent.futures, ya que tiene una interfaz simple y permite al usuario controlar fácilmente el número máximo de subprocesos / procesos. Sin embargo, parece que concurrent.futures oculta las tareas fallidas y continúa el hilo principal después de que todas las tareas hayan finalizado o hayan fallado. import concurrent.futures def f(i): return (i + […]

Python- ¿Cómo hacer que este progtwig use multiprocesamiento?

En Python 3, tengo un progtwig de rodillo de dados simple. Lo que hace es pedirle al usuario la cantidad de lados de un dado y cuántas veces les gustaría tirarlo. Esto se logra creando una lista y cada sublista representa un lado del dado. Cada vez que se genera un número aleatorio, se anexa […]

¿Chunksize es irrelevante para multiprocesamiento / pool.map en Python?

Intento utilizar la funcionalidad de multiprocesamiento de pool de python. Independientemente de cómo establezca el tamaño del fragmento (en Windows 7 y Ubuntu, este último se ve a continuación con 4 núcleos), la cantidad de hilos paralelos parece permanecer igual. from multiprocessing import Pool from multiprocessing import cpu_count import multiprocessing import time def f(x): print(“ready […]

¿Por qué mi aplicación Python está bloqueada con ‘sistema’ / kernel CPU time?

En primer lugar, no estaba seguro de si debería publicar esto como una pregunta de Ubuntu o aquí. Pero supongo que es más una pregunta de Python que una de sistema operativo. Mi aplicación Python se ejecuta sobre Ubuntu en un servidor AMD de 64 núcleos. Extrae imágenes de cámaras de 5 GigE a través […]

Proceso frente a subproceso en relación con el uso de Queue () / deque () y la variable de clase para la comunicación y la “píldora venenosa”

Me gustaría crear un subproceso o un proceso que se ejecute para siempre en un bucle While True. Necesito enviar y recibir datos al trabajador en forma de colas, ya sea un multiprocessing.Queue () o collections.deque (). Prefiero usar collections.deque () ya que es significativamente más rápido. También necesito poder matar al trabajador con el […]

Aprovechando la “Copia en escritura” para copiar datos a procesos de trabajo de multiprocesamiento.Pool ()

Tengo un poco de código Python multiprocessing que se ve un poco así: import time from multiprocessing import Pool import numpy as np class MyClass(object): def __init__(self): self.myAttribute = np.zeros(100000000) # basically a big memory struct def my_multithreaded_analysis(self): arg_lists = [(self, i) for i in range(10)] pool = Pool(processes=10) result = pool.map(call_method, arg_lists) print result […]

grupo de multiprocesamiento no funciona en funciones anidadas

Siguiendo el código no se ejecuta como se esperaba. import multiprocessing lock = multiprocessing.Lock() def dummy(): def log_results_l1(results): lock.acquire() print(“Writing results”, results) lock.release() def mp_execute_instance_l1(cmd): print(cmd) return cmd cmds = [x for x in range(10)] pool = multiprocessing.Pool(processes=8) for c in cmds: pool.apply_async(mp_execute_instance_l1, args=(c, ), callback=log_results_l1) pool.close() pool.join() print(“done”) dummy() Pero funciona si las funciones […]

Process.join () y la cola no funcionan con grandes números

Estoy tratando de dividir por bucle, es decir N = 1000000 for i in xrange(N): #do something utilizando multiprocesamiento. El proceso funciona bien con valores pequeños de N. El problema surge cuando uso valores mayores de N. Algo extraño sucede antes o durante el proceso de p.join () y el progtwig no responde. Si pongo […]

Multiprocesamiento dentro de un hilo hijo.

Estaba aprendiendo sobre multiprocesamiento y multiproceso. Por lo que entiendo, los subprocesos se ejecutan en el mismo núcleo, por lo que me preguntaba si crearé múltiples procesos dentro de un subproceso secundario. ¿Estarán limitados a ese único núcleo también? Estoy usando python, así que esta es una pregunta sobre ese idioma específico, pero me gustaría […]