https://github.com/jkaardal/pyipm
https://www.anaconda.com/blog/developer-blog/getting-started-with-gpu-computing-in-anaconda/
GoAI:http://gpuopenanalytics.com/,
PyCuda、PyOpencl等,比较底层的库。
pytorch、mxnet、theano等深度学习框架,封装得更加好,实现的主要都是梯度算法。
Scikit-gpu:经典的机器学习库GPU版本
pyGDF:类似pandas,只支持linux,cuda10版本
pyculib:类似numpy
numba:底层GPU数组操作
首先安装cuda,使用nvcc --version测试是否安装成功
然后安装cudnn
本文持续更新中。
1. Numba
Numba是一个开源的JIT编译器,可以将python或者numpy 的一些数学计算编译为运算速度极快的机器码,从而大幅提升程序的运算效率。它使用通用的LLVM编译库,不仅可以编译用于CPU执行的代码,达到和C相比拟的速度,同时还可以调用GPU库(如NVIDIA的CUDA和AMD的ROCs等)来实现GPU加速,所左右这些,都可以简单的利用python中的装饰器来实现。
pip install numba安装,然后用numba -s查看安装情况。
2. CuPy
在实际使用中,我们一般将CPU代码中互相不依赖的的for循环适当替换成CUDA代码。
有多种方法可以使用GPU,比如cupy,numba,以及深度学习的库等。总的来说,只有当数据量到达一定数量级时,才会有提升。这个例子是1000万。
3. pytorch
去官网安装GPU版本的pytorch
# 测试cuda是否可用
print(torch.cuda.isavailable())
# 创建一个CPU的张量
x = torch.Tensor(3,4).to("cuda")