【面经笔记】CUDA

本文介绍了CUDA编程中涉及的概念,如thread、block、grid、warp、sp和sm,并探讨了利用CUDA进行GPU计算与图形API的区别。讨论了GPU架构的优缺点,指出线程切换效率是GPU的一大优势。此外,分享了CUDA编程的优化方法,包括线程块的合理分配、共享内存的使用以及纹理缓存的利用。最后,阐述了CUDA编程中的同步机制和流并行的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://blog.csdn.net/junparadox/article/details/50540602
http://www.cnblogs.com/muchen/p/6306792.html

与CUDA相关的几个概念:thread,block,grid,warp,sp,sm。

  • sp: 小核(流处理器)最基本的处理单元,streaming processor 最后具体的指令和任务都是在sp上处理的。GPU进行并行计算,也就是很多个sp同时做处理

  • sm: 大核(流多处理器)多个sp加上其他的一些资源组成一个sm, streaming multiprocessor. 其他资源也就是存储资源,共享内存,寄储器等。每个SM包含的SP数量依据GPU架构而不同。

  • Warp:(线程束)GPU执行程序时的调度单位,一起执行。目前cuda的warp的大小为32,同在一个warp的线程,以不同数据资源执行相同的指令。

  • grid、block、thread:在利用cuda进行编程时,一个grid分为多个block,而一个block分为多个thread.其中任务划分到是否影响最后的执行效果。划分的依据是任务特性和GPU本身的硬件特性。

利用图形API 和CUDA进行GPU通用计算的性能区别?

利用图形API需要把问题转化为图形学的变化;而CUDA是C语言的扩展,比较适合做通用计算

GPU架构的缺点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值