文章目录
显卡
显卡(Video card,Graphics card)全称显示接口卡,又称显示适配器,是计算机最基本配置、最重要的配件之一。显卡是电脑进行数模信号转换的设备,承担输出显示图形的任务。
独立显卡和集成显卡:
集成显卡是指显卡集成在主板上,不能随意更换。
独立显卡是作为一个独立的器件插在主板的AGP接口上的,可以随时更换升级。
集成显卡使用物理内存,而独立显卡有自己的显存。
同期推出的独立显卡的性能和速度要比集成显卡好、快。
集成显卡和独立显卡都是有GPU的。
GPU主流生产厂商 :
Intel:最主要的集成显卡供应商
NVIDIA:最大的显卡供应商,有集成显卡和独立显卡
AMD:第二大的独立显卡供应商
注:并不是所有GPU都支持CUDA,CUDA是显卡厂商NVIDIA推出的运算平台。
GPU
GPU这个概念是由Nvidia公司于1999年提出的。GPU是显卡上的一块芯片,就像CPU是主板上的一块芯片。
把浮点运算做一些处理,包装成图形渲染任务,然后交给GPU来做。为了让不懂图形学知识的人也能体验到GPU运算的强大,Nvidia公司又提出了CUDA的概念。
GPU架构:Tesla、Fermi、Kepler、Maxwell、Pascal
芯片型号:GT200、GK210、GM104、GF104等
显卡系列(NVIDIA):GeForce、Quadro、Tesla
GeFore用于家庭娱乐,Quadro用于工作站,而Tesla系列用于服务器。
CUDA
CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。 开发人员可以使用C语言来为CUDA™架构编写程序,所编写出的程序可以在支持CUDA™的处理器上以超高性能运行。
CUDA是一个并行计算平台和编程模型,能够使得使用GPU进行通用计算变得简单和优雅。通俗解释:CUDA就是让python等程序语言可以同时在CPU和GPU上跑的一个平台。
CUDA在体系结构中所在的层次:
CUDA是由CUDA驱动和CUDA工具包组成。CUDA Toolkit在容器内部,而CUDA Driver在操作系统层。
cuda包含三大组件,分别是 NVIDIA driver(驱动)、toolkit 和 Samples:
CUDA Toolkit
toolkit包含函数库libcudart.so,该函数库提供了对 CUDA runtime API 的访问,以及nvcc编译器等。 CUDA完整的工具安装包,其中提供了 Nvidia 驱动程序、开发 CUDA 程序相关的开发工具包等可供安装的选项。包括 CUDA 程序的编译器、IDE、调试器等,CUDA 程序所对应的各式库文件以及它们的头文件。
- Compiler: CUDA-C和CUDA-C++编译器NVCC位于bin/目录中。它建立在NVVM优化器之上,而NVVM优化器本身构建在LLVM编译器基础结构之上。希望开发人员可以使用nvm/目录下的Compiler SDK来直接针对NVVM进行开发。
- Tools: 提供一些像profiler,debuggers等工具,这些工具可以从bin/目录中获取
- Libraries: 下面列出的部分科学库和实用程序库可以在lib/目录中使用(Windows上的DLL位于bin/中),它们的接口在include/目录中可获取。
– cudart: CUDA Runtime
– cudadevrt: CUDA device runtime
– cupti: CUDA profiling tools interface
– nvml: NVIDIA management library
– nvrtc: CUDA runtime compilation
– cublas: BLAS (Basic Linear Algebra Subprograms,基础线性代数程序集)
– cublas_device: BLAS kernel interface
– …
CUDA Samples
演示如何使用各种CUDA和library API的代码示例。可在Linux和Mac上的samples/目录中获得,Windows上的路径是C:\ProgramData\NVIDIA Corporation\CUDA Samples中。在Linux和Mac上,samples/目录是只读的,如果要对它们进行修改,则必须将这些示例复制到另一个位置。
CUDA Driver
运行CUDA应用程序需要系统至少有一个具有CUDA功能的GPU和与CUDA工具包兼容的驱动程序。每个版本的CUDA工具包都对应一个最低版本的CUDA Driver