Более сложные ядра часто можно ускорить, передавая
ользую нумбу@jit
декоратор для добавления двух массивов в Python. Производительность настолько высока, если я использую@jit
по сравнению сpython
.
Однако этоне использует все ядра процессора даже если я прохожу@numba.jit(nopython = True, parallel = True, nogil = True)
.
Есть ли способ использовать все ядра процессора с помощью Numba?@jit
.
Вот мой код:
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)