[英]Running Python on GPU using numba
我试图在NVIDIA GPU中运行python代码,而谷歌搜索似乎告诉我numbapro是我正在寻找的模块。 然而,根据这个 ,numbapro不再继续,但已被移动到numba库。 我尝试了numba,它的@jit
装饰器似乎确实可以大大加快我的某些代码的速度。 但是,当我阅读更多内容时,在我看来jit
只是在运行时编译您的代码,并且这样做会进行一些繁重的优化并因此提高了速度。
jit
似乎并不能加快已经优化的numpy操作(例如numpy.dot
等)的速度, jit
进一步加强了这一点。
我会感到困惑并偏离这里的轨道吗? jit
到底是做什么的? 如果它不能使我的代码在GPU上运行,我还应该怎么做?
您必须通过ufunc专门告诉Numba将GPU定位为目标:
http://numba.pydata.org/numba-doc/latest/cuda/ufunc.html
或通过以明确考虑GPU的方式对函数进行编程:
http://numba.pydata.org/numba-doc/latest/cuda/examples.html http://numba.pydata.org/numba-doc/latest/cuda/index.html
普通的jit
函数并不针对GPU,通常不会加快对np.dot
类的np.dot
。 通常,Numba擅长于此,您可以避免创建中间临时numpy数组,或者如果您正在编写的代码很难以矢量化的方式开始编写。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.