本文是我学习CUDA课程的学习笔记,主要供自己以后温故知新,在此梳理一遍也算是二次学习。如对您有所帮助,不甚荣幸。初学CUDA,若所言有误,十分欢迎指正。如有侵权,请联系作者删除。
图形处理器(英语:Graphics Processing Unit,缩写:GPU;又称显示核心、显卡、视觉处理器、显示芯片或绘图芯片)是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上执行绘图运算工作的微处理器。
CUDA(Compute Unified Device Architecture,统一计算架构)是由英伟达NVIDIA所推出的一种集成技术,是该公司对于GPGPU( 英语:General-purpose computing on graphics processing units,简称GPGPU或GP²U))的正式名称。透过这个技术,用户可利用NVIDIA的GPU进行图像处理之外的运算,亦是首次可以利用GPU作为C-编译器的开发环境。CUDA 开发包(CUDA Toolkit )只能将自家的CUDA C-语言(对OpenCL只有链接的功能),也就是执行于GPU的部分编译成PTX中间语言或是特定NVIDIA GPU架构的机器代码(NVIDIA 官方称为 “device code”);而执行于中央处理器部分的C / C++代码(NVIDIA 官方称为 “host code”)仍依赖于外部的编译器,如Microsoft Windows下需要Microsoft Visual Studio;Linux下则主要依赖于GCC。
下面是一张较新的显卡(TESLA V1000)示意图。绿色的都是核心,共5千多颗核心。



