动态/条件地选择纯python,numba.jit和numba.cuda.jit

时间:2017-11-05 23:14:45

标签: python performance numba

对装饰器进行更好的动态控制的最佳方法是什么 - 从numba.cuda.jitnumba.jit和无(纯python)中选择。 [请注意,一个项目可以有10或100个函数,所以这应该很容易应用于所有函数] 这是numba网站的一个例子。

import numba as nb
import  numpy as np

# global control of this --> @nb.jit or @nb.cuda.jit  or none 
# some functions with @nb.jit or cuda.jit with kwargs like (nopython=True, **other_kwargs)
def sum2d(arr):
    M, N = arr.shape
    result = 0.0
    for i in range(M):
        for j in range(N):
            result += arr[i,j]
    return result


a = np.arange(81).reshape(9,9)

sum2d(a)

1 个答案:

答案 0 :(得分:1)

您可能想要更复杂的东西,但相对简单的解决方案是根据设置重新定义IN。例如

OR