cuda中,核函数的参数block和grid的设置及其重要,符合硬件特点的设置可以提高硬件资源的利用效率。核函数编写中,设计到通用矩阵乘(GEMM)优化算法,grid和block组合下thread的排列和地址计算也容易让人绕的头晕。而且矩阵常见的地址计算方式和多维数组寻址还不一样;
原文主要参考,加上一些自己的理解。

Read more »

======== Warning: Skipping profiling on device 0 since profiling is not supported on devices with compute capability 7.5 and higher.
Use NVIDIA Nsight Compute for GPU profiling and NVIDIA Nsight Systems for GPU tracing and CPU sampling.
Refer https://developer.nvidia.com/tools-overview for more details.

在进行并行编程,如cuda编程,进行grid、block、thread等索引和实际的计算多维数组对应时,如模型输出后对内存上的输出排列按照特定的数组结构进行分解时,往往都会设计数组地址的计算。
在内存中,数据都是一维度线性存在的,但我们在写程序时,往往会按照二维、多维的逻辑进行计算,这就涉及到底层一点的代码,会有多维索引和实际内存地址的相互转换。

Read more »

对于c/c++而言,编译cuda可以使用nvcc工具直接命令行进行编译,不过对于大型工程,还是需要利用cmake进行管理,下面介绍一下cmake如何配置cuda。

Read more »

利用github.io搭建自有博客,基于hexo博客框架和next主题。
搭建这个blog框架吧,一是觉得csdn不好用,反正有一段时间特别卡,编辑界面出不来;二是觉得托管到上边没有github那种掌控感,反正csdn没有提供导出文章为md的功能,还得自己用工具把html转换为md,而且广告贼多,就感觉自己被白嫖了。索性研究一下搭建自己的blog。

Read more »
0%