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

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

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

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

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

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

区别二:指令模型的不同

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

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

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

区别三:硬件结构的不同

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

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

转自: 穆晨-博客园

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

本文来自企鹅号 - Imagination Tech媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Kirito的技术分享

技术精进的三境界

最近更新了一篇 Docker 的文章,朋友跟我反馈说效果并不是很好,我回头看了下,的确没有我自己的特色,没有太多思考,让公众号显得有些「百货」了。经过反思,今后...

34760
来自专栏全华班

二代蜘蛛侠

爬虫程序, 二代蜘蛛侠,此版本完全重新开发,比上一代更加强大(性能,易用,架构,分布式,简洁,成熟)

19830
来自专栏领域驱动设计DDD实战进阶

DDD实战进阶第一波(十五):开发一般业务的大健康行业直销系统(总结篇)

21530
来自专栏速成应用小程序开发平台

微信小程序广告组件流量主操作指引和申请开通流量主教程

7月9日消息,速成应用小程序获悉,小程序(含小游戏类目)广告组件全量开放,开发者可在小程序后台自助申请开通流量主,开通后可在小程序中接入广告,按月获得广告收入。

33350
来自专栏牛客网

百度测试开发实习生一面面经

31050
来自专栏更流畅、简洁的软件开发方式

主动编程与被动编程!(8/2原则的续集)

1、被动编程。      就好比对日外包的项目,不是太了解,只是有所耳闻。听说日本公司那面会发过来一份(也许用一批更好一些)很详细的文档,里面的内容就是编写...

20070
来自专栏程序员互动联盟

【专业技术】 Linux下如何学习c语言?

引言   尽管 C 语言问世已近 30 年,但它的魅力仍未减退。C 语言继续吸引着众多的开发者,他们为了编写、移植或维护应用程序而必须学习新技能。   本文是为...

43460
来自专栏Cloud Native - 产品级敏捷

敏捷开发真正的重点不是 User Story 的拆分, 而是开发人员的能力

谈到敏捷开发, 许多人纠结的第一个问题便是: User Story 如何的划分? 更有不少人, 一遇到在 User Story 上有延迟交付或交付的质量不佳时,...

29770
来自专栏Crossin的编程教室

几个以前发过、回复过很多次、比较有用的学习资源

最近事情有些多,所以“每周一坑”偶尔不得不跳票一下,各位莫急哈。 既然来都来了,说几个经常被问到的资源,应该还是不少人需要的。已经看过的就忽略。有其他好资源欢迎...

291110
来自专栏马洪彪

C#.Net与MATLAB集成

在数学分析工具方面,MATLAB无疑是佼佼者,除了作为软件工具外,MATLAB的自定义编程语言以及混合编程的支持,使其可以与Python、R之类数学分析语言媲美...

32570

扫码关注云+社区

领取腾讯云代金券