最近开始学习Cuda,找了一些资料,比较下来发现ECE408资料最全,后续应该会把资料整理一下,这次先介绍环境配置和实验0。

课程主页:

搬运视频:

参考资料:

环境配置

环境配置包括Cuda环境以及课程自带的依赖库。

Cuda环境

这部分略过,网上的资料很多。

课程依赖库

课程依赖库需要下载并编译:

git clone https://github.com/abduld/libwb.git
cd libwb
make all

后续会介绍如何使用该库。

Lab 0

下载作业:

git clone https://github.com/aschuh703/ECE408.git

接着是依赖库的使用。

依赖库实际上是头文件,在编译时候添加路径即可,具体如下:

首先在.bashrc中添加环境变量:

export WB_DIR=path_2_libwb

在MP0中添加makefile:

WB = ${WB_DIR}

template.o: template.cu
	nvcc -std=c++11 -rdc=true -I $(WB) -c template.cu -o template.o

solution: template.o
	nvcc -std=c++11 -o solution template.o $(WB)/lib/libwb.so

clean:
	-rm -f template.o
	-rm -f solution

编译运即可:

make solution
./solution
There is 1 device supporting CUDA
Device 0 name: NVIDIA GeForce GTX 1660 SUPER
 Computational Capabilities: 7.5
 Maximum global memory size: 6230114304
 Maximum constant memory size: 65536
 Maximum shared memory size per block: 49152
 Maximum block dimensions: 1024 x 1024 x 64
 Maximum grid dimensions: 2147483647 x 65535 x 65535
 Warp size: 32