2017-10-01 4 views
0

J'ai implémenté moi même un chainer Link, mais parce que c'est trop lent. J'ai implémenté la version CPU de Cython de mon code. Mais je veux encore augmenter la vitesse via GPU. Donc, je teste le code suivant, mais il a échoué:Est-ce que le cython supportera le support (par exemple, l'index tamponné)?

%%cython 

import numpy as np 
cimport numpy as np 
import cupy as cp 
cimport cupy as cp 
cdef class A: 
    def __init__(self): 
     pass 

    cdef cp_test(self, cp.ndarray[cp.float_t, ndim=2] arr): 
     return cp.sum(arr) 

a = A() 
arr = cp.arange(100).reshape(20,50) 
print(a.cp_test(arr)) 

rapports:

cdef cp_test(self, cp.ndarray[cp.float_t, ndim=2] arr): 
        ^
------------------------------------------------------------ 

C:\Users\.ipython\cython\_cython_magic_d4940a274af88f0257c368b8a5d0e3f5.pyx:13:23: 'ndarray' is not a type identifier 
+0

Comment utiliser cython et cupy ensemble? Quelle est la meilleure pratique? – machen

+0

Votre message d'erreur est juste parce que vous avez tapé 'cp' au lieu de' np'. Je vote pour fermer comme une faute de frappe – DavidW

+0

Non, je ne parle pas de numpy, mais cupy, un groupe de chainer publié CUDA version de GPU soutenue numpy, je veux savoir si cela peut fonctionner avec Cython. – machen

Répondre

0

Désolé, mais cupy ne fournit pas l'interface cython (je suis l'un des développeurs cupy).

+0

Alors que ce lien peut répondre à la question, il est préférable d'inclure les parties essentielles de la réponse ici et de fournir le lien pour référence. Les réponses à lien uniquement peuvent devenir invalides si la page liée change. - [À revoir] (/ review/low-quality-posts/17899160) – Aravind

+0

Les parties essentielles de la réponse sont écrites sous forme de commentaires car "CuPy ne fournit pas d'interface cython actuellement". Le lien était juste pour la demande de fonctionnalité sur le traqueur de problème. – sonots