首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

浅谈CPU 并行编程和 GPU 并行编程的区别

CPU 的并行编程技术,也是高性能计算中的热点,那么它和 GPU 并行编程有何区别呢?

本文将做出详细的对比,分析各自的特点,为深入学习 CPU 并行编程技术打下铺垫。

区别一:缓存管理方式的不同

•GPU:缓存对程序员不透明,程序员可根据实际情况操纵大部分缓存 (也有一部分缓存是由硬件自行管理)。

•CPU:缓存对程序员透明。应用程序员无法通过编程手段操纵缓存。

区别二:指令模型的不同

• GPU:采用 SIMT - 单指令多线程模型,一条指令配备一组硬件,对应32个线程 (一个线程束)。

• CPU:采用 MIMD - 多指令多数据类型。多条指令构成指令流水线,且每个线程都有独立的硬件来操纵整个指令流。

用通俗易懂的话来说,GPU 采用频繁的线程切换来隐藏存储延迟,而 CPU 采用复杂的分支预测技术来达到此目的。

区别三:硬件结构的不同

• GPU 内部有很多流多处理器。每个流多处理器都相当于一个“核",而且一个流多处理器每次处理 32 个线程。

• 故 GPU 的数据吞吐量非常大,倾向于进行数据并发型优化;而 CPU 则倾向于任务并发型优化。

转自: 穆晨-博客园

权威发布有关Imagination公司CPU,GPU以及连接IP、无线IP最新资讯,提供有关物联网、可穿戴、通信、汽车电子、医疗电子等应用信息,每日更新大量信息,让你紧跟技术发展,欢迎关注!伸出小手按一下二维码我们就是好朋友!

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171222B03J9E00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券