Como fazer com que o numba @jit use todos os núcleos da CPU (paralelize o numba @jit)
Estou usando numbas@jit
decorador para adicionar duas matrizes numpy em python. O desempenho é tão alto se eu usar@jit
comparado compython
.
No entanto, énão utilizando todos os núcleos da CPU mesmo se eu passar@numba.jit(nopython = True, parallel = True, nogil = True)
.
Existe alguma maneira de fazer uso de todos os núcleos da CPU com o numba@jit
.
Aqui está o meu código:
import time
import numpy as np
import numba
SIZE = 2147483648 * 6
a = np.full(SIZE, 1, dtype = np.int32)
b = np.full(SIZE, 1, dtype = np.int32)
c = np.ndarray(SIZE, dtype = np.int32)
@numba.jit(nopython = True, parallel = True, nogil = True)
def add(a, b, c):
for i in range(SIZE):
c[i] = a[i] + b[i]
start = time.time()
add(a, b, c)
end = time.time()
print(end - start)