本节书摘来自华章计算机《CUDA C编程权威指南》一书中的第1章,第1.6节,作者 [美] 马克斯·格罗斯曼(Max Grossman),译 颜成钢 殷建 李亮,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1.6 习题
1.参考图1-5,分析以下几种数据划分形式:
(1)对于二维数据,沿x轴进行块划分
(2)对于二维数据,沿y轴进行周期划分
(3)对于三维数据,沿z轴进行周期划分
2.从hello.cu中移除cudaDeviceReset函数,然后编译运行,看看会发生什么。
3.用cudaDeviceSynchronize 函数来替换hello.cu中的cudaDeviceReset函数,然后编译运行,看看会发生什么。
4.参考1.3节,从编译器命令行中移除设备架构标志,然后按照下面的方式进行编译,看看会发生什么。
5.参阅CUDA在线文档(http://docs.nvidia.com/cuda/index.html )。基于“CUDA编译器驱动NVCC”一节,谈谈nvcc对带有哪些后缀的文件支持编译?
6.为执行核函数的每个线程提供了一个唯一的线程ID,通过内置变量threadIdx.x可以在内核中对线程进行访问。在hello.cu中修改核函数的线程索引,使输出如下: