Python GPU1:简介

Python GPU1:简介

导读

👉
内存与显存、CPU与GPU、GPU与CUDA

GPU简介

GPU的加速技术在深度学习、量子计算领域都已经被广泛的应用。其适用的计算模型是小内存的密集型计算场景,如果计算的模型内存较大,则需要使用到共享内存,这会直接导致巨大的数据交互的运算量,通信开销较大。
有多种方法可以使用GPU,比如cupy,numba,以及深度学习的库等。总的来说,只有当数据量到达一定数量级时,才会有提升。

前提条件

  1. 机子有GPU显卡,并安装GPU显卡驱动;
  1. 安装GPU的使用环境,CUDA等;
  1. 打开nvidia-smi中的PM属性;
  1. 程序中指定使用的GPU设备;

Python GPU库

  • Numba
  • CuPy
  • pycuda
  • pytorch( troch)
    • 默认情况下,pytorch将数据保存在内存,而不是显存。
    •  
       
PyCuda、PyOpencl等,比较底层的库。
pytorch、mxnet、theano等深度学习框架,封装得更加好,实现的主要都是梯度算法
Scikit-gpu:经典的机器学习库GPU版本
pyGDF:类似pandas,只支持linux,cuda10版本
pyculib:类似numpy
numba:底层GPU数组操作