合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
# 5.4。编写设备功能 > 原文: [http://numba.pydata.org/numba-doc/latest/roc/device-functions.html](http://numba.pydata.org/numba-doc/latest/roc/device-functions.html) HSA 设备功能是将在设备上运行的功能,但只能从内核或其他设备功能调用。与内核函数不同,设备函数可以返回与普通函数类似的值。要定义设备功能,必须在`roc.jit`装饰器中将 kwarg `device`设置为`True`: ```py from numba import roc @roc.jit(device=True) def a_device_function(a, b): return a + b ``` 使用设备功能的示例: ```py from numba import roc import numpy as np @roc.jit def kernel(an_array): pos = roc.get_global_id(0) if pos < an_array.size: # Check array boundaries an_array[pos] = a_device_function(1, pos) # call device function @roc.jit(device = True) def a_device_function(a, b): return a + b n = 16 x = np.zeros(n) kernel[1, n](x) print(x) ```