From d06791d2ce3a64bde8e676ac59dd2acfe0af0c67 Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 14 Nov 2021 21:03:09 +0800 Subject: [PATCH] add capter1-2 --- .gitignore | 23 ++++++ ReadMe.md | 19 +++++ capter1/ReadMe.md | 73 +++++++++++++++++ capter2/ReadMe.md | 169 +++++++++++++++++++++++++++++++++++++++ capter2/bin/hello.exe | Bin 0 -> 56882 bytes capter2/bin/hello_cu.exe | Bin 0 -> 259584 bytes capter2/bin/hello_cu.exp | Bin 0 -> 728 bytes capter2/bin/hello_cu.lib | Bin 0 -> 1736 bytes capter2/hello.cpp | 9 +++ capter2/hello.cu | 33 ++++++++ 10 files changed, 326 insertions(+) create mode 100644 .gitignore create mode 100644 ReadMe.md create mode 100644 capter1/ReadMe.md create mode 100644 capter2/ReadMe.md create mode 100644 capter2/bin/hello.exe create mode 100644 capter2/bin/hello_cu.exe create mode 100644 capter2/bin/hello_cu.exp create mode 100644 capter2/bin/hello_cu.lib create mode 100644 capter2/hello.cpp create mode 100644 capter2/hello.cu diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5998c9a --- /dev/null +++ b/.gitignore @@ -0,0 +1,23 @@ +# 忽略.class的所有文件 +# *.class + +# 忽略名称中末尾为ignore的文件夹 +*ignore/ + +# 忽略名称中间包含ignore的文件夹 +*ignore*/ + +# 忽略指定文件 +# HelloWrold.class +AStyle.exe +*.orig + +# 忽略指定文件夹 +build/ +*/bin/ +*/result.txt +*/__pycache__/ +.vs/ +.vscode/ +*/x64/ +*/Debug/ \ No newline at end of file diff --git a/ReadMe.md b/ReadMe.md new file mode 100644 index 0000000..c65d1f6 --- /dev/null +++ b/ReadMe.md @@ -0,0 +1,19 @@ +# CUDA Study Steps + +CUDA gpu 编程学习,基于 《CUDA 编程——基础与实践》(樊哲勇)。 + +包含章节: + +1. [GPU 硬件与 CUDA 程序开发工具](./capter1/ReadMe.md) +2. [CUDA 中的线程组织](./capter2/ReadMe.md) +3. [简单 CUDA 程序的基本框架](./capter3/ReadMe.md) +4. [CUDA 程序的错误检测](./capter4/ReadMe.md) +5. [GPU 加速的关键](./capter5/ReadMe.md) + +CUDA 官方文档: +[CUDA c++编程指南](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html) +[CUDA c++最佳实践指南](https://docs.nvidia.com/cuda/cuda-c-best-practices-guide/index.html) +[CUDA 运行时API手册](https://docs.nvidia.com/cuda/cuda-runtime-api/index.html) +[CUDA 数学函数库API手册](https://docs.nvidia.com/cuda/cuda-math-api/index.html) + + diff --git a/capter1/ReadMe.md b/capter1/ReadMe.md new file mode 100644 index 0000000..7ad321a --- /dev/null +++ b/capter1/ReadMe.md @@ -0,0 +1,73 @@ +# GPU 硬件与 CUDA 程序开发工具 + +------ + +## GPU 硬件 + +在由 CPU 和 GPU 构成的异构计算平台中,通常将起控制作用的 CPU 称为 **主机(host)**, +将起加速作用的 GPU 称为 **设备(device)**。 + +主机和设备都有自己的 DRAM,之间一般由 PCIe 总线连接。 + +GPU 计算能力不等价于计算性能;表征计算性能的一个重要参数是 **浮点数运算峰值(FLOPS)**。 +浮点数运算峰值有单精度和双精度之分。对于 Tesla 系列的 GPU,双精度下 FLOPS 一般是单精度下的 1/2;对于 GeForce 系列的 GPU,双精度下 FLOPS 一般是单精度下的 1/32。 + +影响计算性能的另一个参数是 **GPU 内存带宽(显存)**。 + +------ + +## CUDA 程序开发工具 + +1. CUDA; +2. OpenCL,更为通用的各种异构平台编写并行程序的框架,AMD 的 GPU 程序开发工具; +3. OpenACC,由多公司共同开发的异构并行编程标准。 + +CUDA 提供两层 API,即 CUDA 驱动API 和 CUDA 运行时API。 +CUDA 开发环境中,程序应用程序是以主机(CPU)为出发点的;应用程序可以调用 CUDA 运行时 API、CUDA 驱动 API 和一些已有的 CUDA 库。 + +------ + +## CUDA 开发环境搭建 + +linux 操作系统:[linux下cuda环境搭建](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html) + +windows10 操作系统:[windows10下cuda环境搭建](https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html) + +------ + +## nvidia-smi 检查与设置设备 + + >> nvidia-smi + +-----------------------------------------------------------------------------+ + | NVIDIA-SMI 462.30 Driver Version: 462.30 CUDA Version: 11.2 | + |-------------------------------+----------------------+----------------------+ + | GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC | + | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | + | | | MIG M. | + |===============================+======================+======================| + | 0 GeForce MX450 WDDM | 00000000:2B:00.0 Off | N/A | + | N/A 39C P8 N/A / N/A | 119MiB / 2048MiB | 0% Default | + | | | N/A | + +-------------------------------+----------------------+----------------------+ + + +-----------------------------------------------------------------------------+ + | Processes: | + | GPU GI CI PID Type Process name GPU Memory | + | ID ID Usage | + |=============================================================================| + | No running processes found | + +-----------------------------------------------------------------------------+ + +1. **CUDA Version**, 11.2; +2. **GPU Name**,GeForce MX450,设备号为 0;如果系统中有多个 GPU 且只要使用其中某个特定的 GPU, +可以通过设置环境变量 **CUDA_VISIBLE_DEVICES** 的值,从而可以在运行 CUDA 程序前选定 GPU; +3. **TCC/WDDM**,WDDM(windows display driver model),其它包括 TCC(Tesla compute cluster); +可以通过命令行 `nvidia-smi -g GPU_ID -dm 0`,设置为 WDDM 模式(1 为 TCC 模式); +4. **Compute mode**, Default,此时同一个 GPU 中允许存在多个进程;其他模式包括 E.Process, +指的是独占进程模式,但不适用 WDDM 模式下的 GPU; +可以通过命令行 `nvidia-smi -i GPU_ID -c 0`,设置为 Default 模式(1 为 E.Process 模式); +5. **Perf**,p8(GPU 性能状态,最大p0~最小p12); + +更多关于 nvidia-smi 的资料:[nvidia-smi](https://developer.nvidia.com/nvidia-system-management-interface) + +------ \ No newline at end of file diff --git a/capter2/ReadMe.md b/capter2/ReadMe.md new file mode 100644 index 0000000..8d59d29 --- /dev/null +++ b/capter2/ReadMe.md @@ -0,0 +1,169 @@ +# CUDA 中的线程组织 + +CUDA 虽然支持 C++ 但支持得并不充分,导致 C++ 代码中有很多 C 代码的风格。 + +CUDA 采用 nvcc 作为编译器,支持 C++ 代码;nvcc 在编译 CUDA 程序时, +会将纯粹的 c++ 代码交给 c++ 编译器,自己负责编译剩下的 cu 代码。 + +------ + +## C++ 的 Hello World 程序 + + >> g++ hello.cpp -o ./bin/hello.exe + >> ./bin/hello + msvc: hello world! + +------ + +## CUDA 的 Hello World 程序 + +### 使用 nvcc 编译纯粹 c++ 代码 + + >> nvcc -o ./bin/hello_cu.exe hello.cu + >> ./bin/hello_cu.exe + nvcc: hello world! + +在该程序中其实并未使用 GPU。 + +### 使用 核函数 的 CUDA 程序 + +一个利用了 GPU 的 CUDA 程序既有主机代码,又有设备代码(在设备中执行的代码)。 +主机对设备的调用是通过 **核函数(kernel function)** 实现的。 + + int main() + { + 主机代码 + 核函数的调用 + 主机代码 + + return 0; + } + +核函数与 c++ 函数的区别: +1. 必须加 `__global__` 限定; +2. 返回类型必须是空类型 `void`。 + + __global__ void hell_from__gpu() + { + // 核函数不支持 c++ 的 iostream。 + printf("gpu: hello world!\n"); + } + +调用核函数的方式: + + hello_from_gpu<<<1, 1>>> + +主机在调用一个核函数时,必须指明在设备中指派多少线程。核函数中的线程常组织为若干线程块: +1. 三括号中第一个数字是线程块的个数(number of thread block); +2. 三括号中第二个数字是每个线程块中的线程数(number of thread in per block)。 + +一个核函数的全部线程块构成一个网格(grid),线程块的个数称为网格大小(grid size)。 +每个线程块中含有相同数目的线程,该数目称为线程块大小(block size)。 + +所以,核函数的总的线程数即 网格大小*线程块大小: + + hello_from_gpu<<>> + +调用核函数后,调用 CUDA 运行时 API 函数,同步主机和设备: + + cudaDeviceSynchronize(); + +核函数中调用输出函数,输出流是先存放在缓冲区的,而缓冲区不会自动刷新。 + +------ + +## CUDA 的线程组织 + +核函数的总线程数必须至少等于计算核心数时才有可能充分利用 GPU 的全部计算资源。 + + hello_from_gpu<<<2, 4>>> + +网格大小是2,线程块大小是4,总线程数即8。核函数中代码的执行方式是 “单指令-多线程”, +即每个线程执行同一串代码。 + +从开普勒架构开始,最大允许的线程块大小是 2^10 (1024),最大允许的网格大小是 2^31 - 1(一维网格)。 + +线程总数可以由两个参数确定: +1. gridDim.x, 即网格大小; +2. blockDim.x, 即线程块大小; + +每个线程的身份可以由两个参数确定: +1. blockIdx.x, 即一个线程在一个网格中的线程块索引,[0, gridDm.x); +2. threadIdx.x, 即一个线程在一个线程块中的线程索引,[0, blockDim.x); + +网格和线程块都可以拓展为三维结构(各轴默认为 1): + +1. 三维网格 grid_size(gridDim.x, gridDim.y, gridDim.z); +2. 三维线程块 block_size(blockDim.x, blockDim.y, blockDim.z); + +相应的,每个线程的身份参数: + +1. 线程块ID (blockIdx.x, blockIdx.y, blockIdx.z); +2. 线程ID (threadIdx.x, threadIdx.y, threadIdx.z); + +多维网格线程在线程块上的 ID; + + tid = threadIdx.z * (blockDim.x * blockDim.y) // 当前线程块上前面的所有线程数 + + threadIdx.y * (blockDim.x) // 当前线程块上当前面上前面行的所有线程数 + + threadIdx.x // 当前线程块上当前面上当前行的线程数 + +多维网格线程块在网格上的 ID: + + bid = blockIdx.z * (gridDim.x * gridDim.y) + + blockIdx.y * (gridDim.x) + + blockIdx.x + +一个线程块中的线程还可以细分为不同的 **线程束(thread warp)**,即同一个线程块中 +相邻的 warp_size 个线程(一般为 32)。 + +对于从开普勒架构到图灵架构的 GPU,网格大小在 x, y, z 方向的最大允许值为 (2^31 - 1, 2^16 - 1, 2^16 -1); +线程块大小在 x, y, z 方向的最大允许值为 (1024, 1024, 64),同时要求一个线程块最多有 1024 个线程。 + +------ + +## CUDA 的头文件 + +CUDA 头文件的后缀依然是 “.h”;同时,采用 nvcc 编译器会自动包含必要的 cuda 头文件, +如 , ,同时前者也包含了c++头文件 。 + +------ + +## 使用 nvcc 编译 CUDA 程序 + +nvcc 会先将全部源代码分离为 主机代码 和 设备代码;主机代码完整的支持 c++ 语法,而设备代码只部分支持。 + +nvcc 会先将设备代码编译为 PTX(parrallel thread execution)伪汇编代码,再将其编译为二进制 cubin目标代码。 +在编译为 PTX 代码时,需要选项 `-arch=compute_XY` 指定一个虚拟架构的计算能力;在编译为 cubin 代码时, +需要选项 `-code=sm_ZW` 指定一个真实架构的计算能力,以确定可执行文件能够使用的 GPU。 + +真实架构的计算能力必须大于等于虚拟架构的计算能力,例如: + + -arch=compute_35 -code=sm_60 (right) + -arch=compute_60 -code=sm_35 (wrong) + +如果希望编译出来的文件能在更多的GPU上运行,则可以同时指定多组计算能力,例如: + + -gencode arch=compute_35, code=sm_35 + -gencode arch=compute_50, code=sm_50 + -gencode arch=compute_60, code=sm_60 + +此时,编译出来的可执行文件将包含3个二进制版本,称为 **胖二进制文件(fatbinary)**。 + +同时,nvcc 有一种称为 **实时编译(just-in-time compilation)**机制,可以在运行可执行文件时从其中保留的PTX +代码中临时编译出一个 cubin 目标代码。因此, 需要通过选项 `-gencode arch=compute_XY, code=compute_XY`, +指定所保留 PTX 代码的虚拟架构, 例如: + + -gencode arch=compute_35, code=sm_35 + -gencode arch=compute_50, code=sm_50 + -gencode arch=compute_60, code=sm_60 + -gencode arch=compute_70, code=compute_70 + +于此同时,nvcc 编译有一个简化的编译选项 `-arch=sim_XY`,其等价于: + + -gencode arch=compute_XY, code=sm_XY + -gencode arch=compute_XY, code=compute_XY + +关于 nvcc 编译器的更多资料: [nvcc](https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html)。 + +------ + diff --git a/capter2/bin/hello.exe b/capter2/bin/hello.exe new file mode 100644 index 0000000000000000000000000000000000000000..7b4c4d363d3dc55eb277844656edd57853fb9aa5 GIT binary patch literal 56882 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%0DgsnkjVpUp)Hhe7je02$Y` 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 XVRdDbB^%xDs}9;pZI+eO=h^=TK9e7z literal 0 HcmV?d00001 diff --git a/capter2/bin/hello_cu.exe b/capter2/bin/hello_cu.exe new file mode 100644 index 0000000000000000000000000000000000000000..a2c88f3527cd60a419fa46a11f5f4c6773565790 GIT binary patch literal 259584 zcmdqK2Y6J~_WwO81A`DIl#w7Hg9MGD7!7J-KxZIEY0 zr`>}_c3(8>hbHvalkEOCsLSarZAN6aE$x2%aQF^HaaFd=D5JoII(G4M{=UW z(H1}am2bqqRB`Hq8u%Qd2I7`FI*OrLQZD|I97T&`j%>HM%bvsz#L=DUy0ODCcS@3@ZQN~nI*r}0fIM47)RuS?9fh0}iN>FF36Gx} z#*NX5fG9$gb~_z0&g*a#b(uMCbQqf2vI3sNPsfuuy6SuEgE@6!%<)4GTao$7D2z`%G{xaol|tR{^fq=x~o)GAWo4 zIEva=XLF+lk@@i3Maf?I;uJ&nqenTyq zKW+6h)<3gs>?*9WITY+8=~R z!6PscNOgW^m?vW8GV*V(bDEFAbuhX-eFbg?jN#sZF+U?<{Qah?ZLvS0pTR?h!Z?PI zf>xD>;Dg!eO#}-CRTLPX1&mXgaUy6O*Ynad5!WT=9Vm&mw%S5*q^&fHr_fdq#zNY9 z75*3vg8ED8#W)KZFH{^d;ivx|QPQa-)|^&tG9cT?MIn{?kTpFp;Ht z{z{{_E2xiOrRTpy$q(vN%7gmCit7Ab^|hZ073_!hAxtYMv%+nVBdJ>1=5TXTY%rRC zIAH9vLTOo>>l$Qj*7SnI(EqB-kxzO-hGuLYaib@gu4xV-dj4G{U zgLimURs|o~!t)I0>Jf>KtcrZ(N$a4I(&C*Y6ovP5&Iz}$K(0^o=T^)-j!e1))=;HI zlYIdruhJDOA#gvhp8Gv(|AG6jyTrLqjkyo%!E~>Nf3Cp;MJXHXAL1WMCGB{54W(u6 zt0LjXm3|{T&lr=OZ%oH;t}D;@lPhbp9(gWLAO9kZ>N!{{DvyFuTBYgL7rvdRN7m~3 zTOoNH`OkMF)p`1qoqGO0+?}H@+ynFb6sL>w^o56Te#CtD30u44f=0nml#x*=8r86l zo6V#-wkQA>(;&K;^c^C7Q?6>{Prk98&VA&4zOezP*?Fj1GmX7@dKkuuTGsMx*>C4s zC&X(J3e+OQkPYdGA>mOP^or0LYN~lsZke$Kwi~{3$0aaZ;n?F5er_DoFgAzF?J=0uo>mrP6 z$|I!K3tt@OX3)fWV^Lj6&a3LKHDG^w1N`r*_e#bgTkqwv!Y%aU2$!5%o<_V5iI~6;|{3})do%T@F_E07K347Hb-j`eJ`ErJShq7j` zX5RwF0dDLxqt<*9-Uf}GqMa*Er*T6NH9gc9(u~q{m>L58&@LLK>9N|+N5T~(Bt_H3 zL-s``&X?jG_cJIKUNdzV`2ow&jLGS9HRFx+Vq!}+6e+WarT0E`K2Seu#sRYtr5CkX zDkoZ`wKjQ#aEbaarYSy_r@>2eNX)f!+}lYGEo%eC4vozFLE}K4v88Nxq$SEBEXSo~ zZ8IMtx@1FIRe|Bi+8xxB)7@|7r6>5^Z`CY5zVXqvi*MO{Z-OHstA=hT#$P1GUnIw0 zIO8uG#9uUwUGUMU^#61`U?lGeL|g8mWHt-t_*`LF$1csFbVrUBlS8Bid<+8nbbbJXKL7GG`2iHuZP8vl3t|%=wyEx zg|yX7r5i$9+aqg9NAPI`X=^gHWk*}u{|jJY|J2-Q#%aw6gs6H(cWYRhSpL21fu~t&)!oA3ex}>0y zPynOu9YBzpvD3T@M$K-?A-RX!b{brHq$}#aAg9r2)>XlM+~pg_k2#mmzGA`z1XhY9 zl3%@3jUAfNq()>9^wZkRfQb6o$ev@?rrc|09;6US?lhZ_OrHi5o95Cl*NjmaWJ)c` zJQn{3OUALbL?CFUQyT1np*~F4InzR`n?-{lC zLnQnc^�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 VL8-yc4}-vTTYD{e)Aj#`;~Pf{lkWfk literal 0 HcmV?d00001 diff --git a/capter2/bin/hello_cu.lib b/capter2/bin/hello_cu.lib new file mode 100644 index 0000000000000000000000000000000000000000..70d393e8647b812cb89dd511c51c026053abbc17 GIT binary patch literal 1736 zcmcIlPiqrF6#wn6t-6#NY)_)Hg^GGGwrNtUh;09Xp=naK+g>-D>}mo@6WWb<5pOvO z77u;|KZJ);`~aetLN5v){Q$Yv_jYIE2Adj79GH23=FQIUH}l@?)MIzITzR73H+tK> z*(GeVi2lUh*+Z~;*E0qua)4lrstPIi5xVA;;f>gKYQ-LMOmQ}JuHhEs0Aaq?Ta z+@BG6EkmLJ`{`DG%~@Hr7imeg-gNRW3eBKeZ|$w_xTTt3_jiKjmgnN1(Wg^_M^Pu} z*jIo94d{?zjfQlfKqXol?R*|4XXEY9QyxIlf9W%;zuiOn;X;>**VeGDzUzz=n@hxs zThjAOt>@F5kp(P~@kp-jfuoXa()S?Kp(h{xYkg#4nNL`<4vXc4+Gncp7v zPw^lce;s%vEEXzk8qb$Y!^@UbMwWF^_u4AHU$KuqhUggM>Dl5%Q{6F^EpyVz+44ae zLUOkJpDY;UW^WLRzR!#v&y+!`EVa;EWnbUE|MZP^i0=9Hb33ETGV-XnO1aA7&4ekd zEG_*UcO(rVId1spJILAIBm~3D$;<=sfEoNJ;Y#(|*It!=-U@k+px>JxzeDK10HOs; AtN;K2 literal 0 HcmV?d00001 diff --git a/capter2/hello.cpp b/capter2/hello.cpp new file mode 100644 index 0000000..1c4cdc7 --- /dev/null +++ b/capter2/hello.cpp @@ -0,0 +1,9 @@ +#include +using namespace std; + +int main() +{ + cout << "msvc: hello world!" << endl; + + return 0; +} \ No newline at end of file diff --git a/capter2/hello.cu b/capter2/hello.cu new file mode 100644 index 0000000..56340fb --- /dev/null +++ b/capter2/hello.cu @@ -0,0 +1,33 @@ +#include +using namespace std; + + +__global__ void hell_from__gpu() +{ + // 核函数不支持 c++ 的 iostream。 + + // 输出流的缓存顺序。 + // printf("gpu: hello world! "); + + const int bx = blockIdx.x; + const int by = blockIdx.y; + const int bz = blockIdx.z; + + const int tx = threadIdx.x; + const int ty = threadIdx.y; + const int tz = threadIdx.z; + + printf("gpu: hello world! block(%d, %d, %d) -- thread(%d, %d, %d)\n", bx, by, bz, tx, ty, tz); +} + + +int main() +{ + printf("nvcc: hello world!\n"); + + const dim3 block_size(2, 4); + hell_from__gpu<<<1, block_size>>>(); + cudaDeviceSynchronize(); // 同步主机和设备,否则无法输出字符串。 + + return 0; +} \ No newline at end of file