nvidia的cuda和gpu
- gpu 最早是做图像渲染,在CUDA出现之前,GPU这个强大的"工人军团"基本上只能干一件事:画图。 科学家们虽然知道GPU的计算能力很强,但想利用它来做非图形计算(比如科学模拟、数据分析)非常困难,需要用图形编程语言(如OpenGL、DirectX)伪装成图形任务来"欺骗"GPU工作,这非常复杂且效率低下。
- cuda包含
- 一个编程接口 (API): 允许开发者使用C、C++、Fortran、Python等高级语言编写程序。
- 一个运行时库 (Runtime Library): 管理GPU资源,协调CPU和GPU之间的数据传输和任务调度。
- 一个驱动程序 (Driver): 硬件和软件之间的桥梁。
- GPU相当于一个拥有数千名工人的工厂。cuda相当于指导工人如何工作的操作手册和管理系统。
国产gpu
-
在NVIDIA平台上运行模型时,实际发生的过程是:AI框架 (PyTorch) -> 调用 CUDA API -> CUDA驱动 -> 在 NVIDIA GPU 上执行计算
-
如果在国产GPU上跑N卡训练的模型,需要搭建一个全新的运行管道:AI框架 (PyTorch) -> 调用 国产GPU的API -> 国产GPU驱动 -> 在 国产GPU 上执行计算
-
国产GPU的API -> 国产GPU驱动 都是自研的部分,每一家目前不太一样