金融建模、自动驾驶、智能机器人、新材料发现、脑神经科学、医学影像分析…人工智能时代的科学研究极度依赖计算力的支持。提供算力的各家硬件芯片厂商中,最抢镜的当属英伟达Nvidia了。这家做显卡起家的芯片公司在深度学习兴起后可谓红得发紫,如果不聊几句GPU和英伟达,都不好意思跟别人说自己是做人工智能的。那么,英伟达的GPU是如何加速计算呢?本系列将介绍GPU计算加速的一些基础知识:
- GPU硬件知识和基础概念:包括CPU与GPU的区别、GPU架构、CUDA软件栈简介。
- GPU编程入门:主要介绍CUDA核函数,Thread、Block和Grid概念,并使用Python Numba进行简单的并行计算。
- GPU编程进阶:主要介绍多核配置和存储管理。
- GPU编程实践:使用Python Numba解决复杂问题。
什么是GPU
GPU全名为Graphics Processing Unit,又称视觉处理器、图形显示卡。GPU负责渲染出2D、3D、VR效果,主要专注于计算机图形图像领域。后来人们发现,GPU非常适合并行计算,可以加速现代科学计算,GPU也因此不再局限于游戏和视频领域。
CPU和GPU
现代CPU处理数据的速度在纳秒级别,为何还要使用GPU来加速?