CUDA编程学习笔记(一)

        看了很多内容,很杂,本篇内容就用来总结我自己对异构架构和并行计算的理解。

        我认为只需要理解以下几个点,就能大致了解异构架构:

                1.串行和并行

                2.cpu和gpu各自的优点和缺点

                3.cuda

1. 串行和并行

        一段程序在处理器上会被拆分为多个线程,然后线程会被分配到多个核心上去计算。一个核心一次只能运行一个线程,所以多个核心需要计算时,就需要在一个核心上串联地执行,即后续的线程需要等待前面的线程执行完毕才能得到执行。

        很自然能想到,当核心数变多的时候,就能够处理更多的线程了。多个核心在运行时是相互独立的,当多个线程之间没有数据依赖的时候,多个数据就能够实现并行了。

2.cpu和gpu各自的优缺点

        从cpu和gpu硬件上的设计其实很容易得出各自的优缺点。cpu搭载的处理核心数较少,只有大概几个到十几个不等,但有大量的逻辑处理单元,能够处理复杂的分支预测;而gpu的架构设计完全相反,gpu上搭载的处理核心数大得多,都是上百的数量级,但是没有处理复杂分支预测的逻辑单元。

        所以不难分析:

                cpu:核心数量少,较弱的大数据处理能力,但有强大的处理分支预测等逻辑问题的能力

                gpu:较多的核心,较强的大数据处理能力,但没有处理复杂逻辑问题的能力。

3.cuda

        cuda是一种异构计算平台。

        面对cpu具有的强大的逻辑处理能力和gpu强大的数据处理能力,将两者的长处结合起来是很有必要的,所以cuda就是一个将两个架构平台联系在一起的、能够协作编程、协作处理问题的一个平台。cuda平台能够提供c/c++、python等编程语言,通过提供了一系列接口来操作gpu,实现cpu和gpu的协同计算。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值