Articles of multiproceso

¿Buen ejemplo de implementación de multiprocesamiento?

Estoy tratando de convertir uno de mis progtwigs para usar multiprocesamiento, preferiblemente los grupos de multiprocesamiento, ya que parecen más simples de hacer. En un nivel alto, el proceso está creando una serie de parches de imágenes y luego pasándolos a la GPU para la detección de objetos. La CPU y la parte de la […]

threading.Condition vs threading.Event

Todavía tengo que encontrar una explicación clara de las diferencias entre las clases de Condition y Event en el módulo de threading . ¿Existe un claro caso de uso en el que uno sería más útil que el otro? Todos los ejemplos que puedo encontrar utilizan un modelo de productor-consumidor como ejemplo, donde queue.Queue sería […]

Datos globales de Django para hilos

Tengo un objeto de datos globales compartidos en mi servidor django de procesos múltiples de proceso único, un objeto que se usa con frecuencia, pero se calcula con poca frecuencia. El cálculo lleva mucho tiempo, por lo que quiero compartir los resultados. Pensé que funcionaría usar LocalMemCache de django para estos datos simples. Curiosamente, parece […]

Comunicación entre hilos en PySide

Tengo un hilo que produce algunos datos (una lista de python) y que estará disponible para un widget que leerá y mostrará los datos en el hilo principal. En realidad, estoy usando QMutex para proporcionar acceso a los datos, de esta manera: class Thread(QThread): def get_data(self): QMutexLock(self.mutex) return deepcopy(self.data) def set_data(self, data): QMutexLock(self.mutex) self.data = […]

Uso de multiprocesamiento. Proceso con un número máximo de procesos simultáneos.

Tengo el código de Python : from multiprocessing import Process def f(name): print ‘hello’, name if __name__ == ‘__main__’: for i in range(0, MAX_PROCESSES): p = Process(target=f, args=(i,)) p.start() que funciona bien Sin embargo, MAX_PROCESSES es variable y puede tener cualquier valor entre 1 y 512 . Dado que solo estoy ejecutando este código en […]

Acelera una sola tarea utilizando multiprocesamiento o subprocesos

¿Es posible acelerar una sola tarea utilizando multiprocesamiento / subprocesos? Mi intuición es que la respuesta es “no”. Aquí hay un ejemplo de lo que quiero decir con una “tarea única”: for i in range(max): pick = random.choice([‘on’, ‘off’, ‘both’]) Con un argumento de 10000000, toma alrededor de 7,9 segundos completar mi sistema. Tengo un […]

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 + […]

Multiproceso Python con PyCUDA

Tengo un problema que quiero dividir en varios dispositivos CUDA, pero sospecho que la architecture actual de mi sistema me está frenando; Lo que he configurado es una clase de GPU, con funciones que realizan operaciones en la GPU (extraño que). Estas operaciones son del estilo. for iteration in range(maxval): result[iteration]=gpuinstance.gpufunction(arguments,iteration) Me había imaginado que […]

Python multiprocessing.Pool map () “TypeError: los índices de cadena deben ser enteros, no str”

Estoy intentando usar multiprocesamiento. Trabajo en paralelo para hacer un parallel processing en una lista de diccionarios. Un ejemplo esta abajo ( Tenga en cuenta : este es un ejemplo de juguete, mi ejemplo real será el procesamiento intensivo de la CPU en los valores del diccionario real) import multiprocessing my_list = [{‘letter’: ‘a’}, {‘letter’: […]

¿Por qué debemos pasar explícitamente constantes a funciones de multiprocesamiento?

He estado trabajando con el paquete de multiprocessing para acelerar algunas tareas de geoprocesamiento (GIS / arcpy ) que son redundantes y deben hacerse de la misma manera para más de 2,000 geometrías similares. La división funciona bien, pero mi función de “trabajador” es bastante larga y complicada porque la tarea en sí misma de […]