GPU 的内核比 CPU 多,因此在数据的并行计算方面,GPU 的性能比 CPU 好得多,尽管 GPU 的时钟速度较低,并且与 CPU 相比缺乏几个内核管理功能。
因此,在 GPU 上运行 python 脚本可以证明比 CPU 更快,但是,必须注意,使用 GPU 处理数据集时,数据将首先传输到 GPU 的内存,这可能需要额外的时间,所以如果数据设置很小,那么 CPU 可能比 GPU 性能更好。
代码 :
我们将为要在 GPU 上计算的函数使用 numba.jit 装饰器。装饰器有几个参数,但我们只使用目标参数。Target 告诉 jit 为哪个源(“CPU”或“Cuda”)编译代码。“Cuda”对应GPU。但是,如果
CPU 作为参数传递,然后 jit 尝试优化代码在 CPU 上运行得更快并提高速度。
环境安装
conda install numba & conda install cudatoolkit
from numba import jit, cudaimport numpy as np# to measure exec timefrom timeit import default_timer as timer # normal function to run on cpudef func(a): for i in range(10000000):a[i]
Nvidia GPU 入门教程之 03 在 GPU 上运行 Python 脚本 对比cpu与gpu性能 检测a100性能(教程含源码)