PARA AQUELLOS QUE LEEN ESTO: he decidido utilizar RQ, que no falla cuando se ejecuta el código que utiliza el módulo de multiprocesamiento. Te sugiero que uses eso. Estoy tratando de usar un grupo de multiprocesamiento dentro de una tarea de apio usando Python 3 y redis como intermediario (ejecutándolo en una Mac). Sin embargo, […]
Estoy ejecutando una simulación utilizando Runge-Kutta. En cada paso del tiempo, se requieren dos FFT de dos variables independientes que pueden ser paralelizadas. Implementé el código así: from multiprocessing import Pool import numpy as np pool = Pool(processes=2) # I like to calculate only 2 FFTs parallel # in every time step, therefor 2 processes […]
Estoy luchando por algún tiempo para mejorar el tiempo de ejecución de este fragmento de código. Dado que los cálculos realmente requieren mucho tiempo, creo que la mejor solución sería paralelizar el código. La salida también se puede almacenar en la memoria, y luego escribirse en un archivo. Soy nuevo tanto en Python como en […]
Aquí hay un progtwig de ejemplo donde uso multiprocesamiento. Los cálculos se realizan con multiprocessing.Process y los resultados se recostackn mediante multiprocessing.Queue . #THIS PROGRAM RUNS WITH ~40Gb RAM. (you can reduce a,b,c for less RAM #but then it works for smaller values) #PROBLEM OCCURS ONLY FOR HUGE DATA. from numpy import * import multiprocessing […]
Me costó toda una noche depurar mi código, y finalmente encontré este problema complicado. Por favor, eche un vistazo al código de abajo. from multiprocessing import Pool def myfunc(x): return [i for i in range(x)] pool=Pool() A=[] r = pool.map_async(myfunc, (1,2), callback=A.extend) r.wait() Pensé que obtendría A=[0,0,1] , pero la salida es A=[[0],[0,1]] . Esto […]
Desarrollé un progtwig simple para resolver el problema de ocho reinas. Ahora me gustaría hacer más pruebas con diferentes meta-parámetros, así que me gustaría hacerlo rápido. Pasé por varias iteraciones de creación de perfiles y pude reducir significativamente el tiempo de ejecución, pero llegué al punto en el que creo que solo partes de los […]
Tengo un problema paralelizantemente embarazoso que consiste en un montón de tareas que se resuelven de forma independiente. Resolver cada una de las tareas es bastante largo, por lo que este es un candidato principal para el multiprocesamiento. El problema es que resolver mis tareas requiere crear un objeto específico que requiera mucho tiempo por […]
versión corta corta Tengo problemas para paralelizar el código que utiliza métodos de instancia. Versión más larga: Este código de Python produce el error: Error Traceback (most recent call last): File “/Users/gilzellner/dev/git/3.2.1-build/cloudify-system-tests/cosmo_tester/test_suites/stress_test_openstack/test_file.py”, line 24, in test self.pool.map(self.f, [self, url]) File “/Users/gilzellner/.virtualenvs/3.2.1-build/lib/python2.7/site-packages/pathos/multiprocessing.py”, line 131, in map return _pool.map(star(f), zip(*args)) # chunksize File “/Users/gilzellner/.virtualenvs/3.2.1-build/lib/python2.7/site-packages/multiprocess/pool.py”, line 251, in […]
Tengo un progtwig en Python que básicamente hace lo siguiente: for j in xrange(200): # 1) Compute a bunch of data # 2) Write data to disk 1) tarda unos 2-5 minutos 2) tarda aproximadamente ~ 1 minuto Tenga en cuenta que hay demasiados datos para guardar en la memoria. Idealmente, lo que me gustaría […]
Hasta ahora, siempre que necesitaba utilizar el multiprocessing lo he hecho creando manualmente un “grupo de procesos” y compartiendo una Cola de trabajo con todos los subprocesos. Por ejemplo: from multiprocessing import Process, Queue class MyClass: def __init__(self, num_processes): self._log = logging.getLogger() self.process_list = [] self.work_queue = Queue() for i in range(num_processes): p_name = ‘CPU_%02d’ […]