CUDA 编程 之并行计算思想

思想这个东西,是个人理解的问题。

无论是 MPI OPENMP 等等并行计算的方法,都是使用多线程同时并发的执行。
所谓并发,就是看起来一起执行罢了,在真正的单核CPU中,是在某段时间内,串行执行,通过线程调度来掩盖其执行的顺序。

那么CUDA 编程中,并行计算的思想是SIMT,simple instruction multiple thread。你可以分配好多线程给GPU,无所谓其中的SP有多少,但是最好还是根据SP 的个数来设置其threadPerBlock,这样既方便调度,又可以提高资源利用率。

由于 GPU中 寄存器的数量庞大,可以保存不同线程的运行状态,可以较快的切换进程的上下文,因此也从另一个方面掩盖了访存延迟。

我觉得,GPU并行思想,与其硬件架构有很大关系,与CPU主要做控制逻辑相比,GPU更喜欢做一些可以大量重复或者并行的计算,而避免复杂的条件分支。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值