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’ […]
Estoy buscando una respuesta definitiva para el examen de MATLAB para Python (Scipy, Numpy). ¿Hay una solución similar a la de parfor? Si no, ¿cuál es la complicación para crear uno? ACTUALIZACIÓN: Aquí hay un código de cálculo numérico típico que necesito acelerar import numpy as np N = 2000 output = np.zeros([N,N]) for i […]
En los últimos años, se han pandas.apply() varios mensajes relacionados con la parallelization de pandas.apply() o publicaciones que describen problemas que podrían resolverse estructurando los datos como un dataframe y utilizando pandas.apply() si se implementara la parallelization . Mi pregunta a la comunidad de expertos aquí es cuál es el estado de esta capacidad, ya […]
Tengo una gran aplicación de simulación paralela (utilizando MPI) que produce grandes cantidades de datos. Para evaluar estos datos utilizo un script de python. Lo que ahora debo hacer es ejecutar esta aplicación una gran cantidad de veces (> 1000) y calcular las propiedades estadísticas a partir de los datos resultantes. Mi enfoque hasta ahora […]
Actualmente estoy experimentando con numba y especialmente vectorized , así que creé una función sum vectorizada (porque es fácil comparar esto con np.sum . import numpy as np import numba as nb @nb.vectorize([nb.float64(nb.float64, nb.float64)]) def numba_sum(element1, element2): return element1 + element2 @nb.vectorize([nb.float64(nb.float64, nb.float64)], target=’parallel’) def numba_sum_parallel(element1, element2): return element1 + element2 array = np.ones(elements) np.testing.assert_almost_equal(numba_sum.reduce(array), […]
He estado intentando optimizar una parte del código de Python que involucra cálculos de matrices multidimensionales de gran tamaño. Estoy obteniendo resultados contraintuitivos con numba. Me estoy ejecutando en un MBP, a mediados de 2015, 2.5 GHz i7 Quadcore, OS 10.10.5, Python 2.7.11. Considera lo siguiente: import numpy as np from numba import jit, vectorize, […]
Estoy probando la progtwigción multiprocesador con Python. Tome un algoritmo de dividir y conquistar como Fibonacci por ejemplo. El flujo de ejecución del progtwig se ramificaría como un árbol y se ejecutaría en paralelo. En otras palabras, tenemos un ejemplo de paralelismo nested . Desde Java, he usado un patrón de subprocesos para administrar recursos, […]
Estoy buscando una biblioteca de Python o una herramienta de línea de comandos para descargar varios archivos en paralelo. Mi solución actual es descargar los archivos secuencialmente, lo cual es lento. Sé que puedes escribir fácilmente una solución de subprocesos a medias en python, pero siempre tengo problemas molestos al usar subprocesos. Es para encuestar […]
Estoy tratando de mejorar un script que escanea archivos en busca de códigos maliciosos. Tenemos una lista de patrones de expresiones regulares en un archivo, un patrón en cada línea. Estas expresiones regulares son para grep, ya que nuestra implementación actual es básicamente una combinación de script bash find \ grep. La secuencia de comandos […]
Tengo un gran dataframe (varios millones de filas). Quiero poder realizar una operación grupal en él, pero simplemente agrupándolos por subconjuntos consecutivos (preferiblemente de igual tamaño) de filas, en lugar de usar cualquier propiedad particular de las filas individuales para decidir a qué grupo van. El caso de uso: quiero aplicar una función a cada […]