如何在GPU上调用Scipy Numba函数



安装numba scipy包后,以下代码段可以工作:

import numba
import scipy.special as sc
@numba.vectorize(['float64(float64, float64)'])
def t_quantile(df, p):
return sc.stdtrit(df, p)
t_quantile(2., 0.975)

如何在GPU上执行t_quantile(),因为我在以下代码中尝试失败?

import numba
import scipy.special as sc
@numba.vectorize(['float64(float64, float64)'], target='cuda')  # move to GPU here
def t_quantile(df, p):
return sc.stdtrit(df, p)
t_quantile(2., 0.975)

scipy.special.stdtrit实际上在nopyson模式下不受Numba支持。只能使用回退实现(这大多违背了使用Numba的目的(。事实上,Scipy大部分还没有得到Numba的支持。因此,您也不能在Numba CUDA目标函数中使用它。你可以尝试自己实现这一点,但这很难做到

最新更新