cuda初识

CUDA(Compute Unified Device Architecture): 统一计算架构,是GPU的编程接口。 CUDA是C语言的一种扩展,它允许使用标准C来进行GPU代码编程。这个代码即适用于主机处理器(CPU),也适用于设备处理器(GPU)。

CPU负责派生出运行在GPU设备处理器的多线程任务(CUDA称其为内核程序)。GPU设有内部调度器来把这些内核程序分配到相应的GPU硬件上。

CUDA的编译原则:基于虚拟指令集的运行时编译。

GPU并不是一个独立运行的计算平台,而需要与CPU协同工作,可以堪称是CPU的协处理器,因此GPU并行计算,是指CPU+GPU的异构计算架构。在异构计算架构中,GPU与CPU通过PCI-E总线连接在一起来协同工作,CPU所在的位置称为主机端(host),而GPU所在的位置称为设备端(device)。

GPU适合数据并行的计算密集型任务,CPU适合控制密集型任务。

一、弗林分类法:对计算机架构进行划分

* SISD——单指令,单数据

* SIMD——单指令,多数据

* MISD——多指令,单数据

* MIMD——多指令,多数据

GPU实现的是“单指令,多线程”(SIMT,Single Instruction Multiple Thread)模型。

SIMT和SIMD本质相同:都是单指令多数据。SIMT比SIMD更灵活,允许一条指令的多数据分开寻址,SIMD是必须连续在一起的片段。

二、常用的并行模式
1、基于循环的模式:最关键的是发现循环

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值