2017-11-09 21 views
0

私はnumba.vectorizetarget='cuda'をテストしています。numpy.sinnumpy.expのような数学関数を使用して問題に遭遇しました(これは解決したい問題に不可欠です)。NumbaでGPUで三角関数を使用するにはどうすればよいですか?

最小例:

@vectorize(["float32(float32)"], target='cuda') 
def f(x): 
    return np.sin(x) 

私はjupyterのノートブックにこのコードを実行すると、それは、私に

UntypedAttributeError: Failed at nopython (nopython frontend) 
Unknown attribute 'sin' of type Module(<module 'numpy' from '/opt/intel/intelpython3/lib/python3.6/site-packages/numpy/__init__.py'>) 
File "<ipython-input-23-6310cdef033e>", line 3 
[1] During: typing of get attribute at <ipython-input-23-6310cdef033> (3) 

私が何か間違ったことをやっているように見える要旨そのエラーを与えますまたはこれは動作するはずですか?

+0

'sin.py'という名前の' .py'ファイル(モジュール)がありますか? – wwii

+0

Is - https://stackoverflow.com/q/30427081/2823755-類似していますか? – wwii

+0

私の知る限りではありません。私は1つ持っている必要がありますか? – Tor

答えて

3

documentationを読むと、カーネル内でmathライブラリ(複雑なタイプを使用している場合はcmathライブラリ)の関数を使用する必要があることがわかります。ナンビの数学関数はNumba CUDAカーネルではで、ではサポートされていません。

関連する問題