我认为这个话题说明了一切。在并行和多核编程之间有什么区别?谢谢。并行和多核编程有什么区别?
2
A
回答
5
多核是一种并行编程。特别是它是一种MIMD设置,其中处理单元不分配,而是共享一个公共存储区,甚至可以共享像MISD设置的数据(如果需要的话)。我相信它甚至不同于多处理器,因为多核心设置可以共享一定级别的高速缓存,并且因此比不同核心上的CPU更有效地合作。
通用并行编程还将包括SIMD系统(如GPU)和分布式系统。
1
区别不在于处理方法,只是在软件运行的硬件上。并行编程遇到了一个问题,将工作负载分解为可以并行处理的小块(分而治之类型问题等)或可以彼此独立运行的函数。将该软件放置在多核硬件上,并由操作系统对其进行优化,以在不同内核上运行。这使它具有更好的性能,因为您为创建并行工作而创建的每个线程现在都可以运行,而无需在单个处理器/内核上占用CPU周期。
+0
谢谢。我懂了。如果我正确地读了你的话,你就是说,如果我可以用类比的话,多核编程就是并行编程技术的实现。这是准确的吗? – 2010-11-23 14:41:59
0
多核系统是并行系统的一个子集。不同的系统会有不同的内存架构,每个架构都有自己的挑战。一个系统如何处理缓存一致性?是否涉及NUMA等等。
相关问题
- 1. Python中并行编程中的Pool.map和Process有什么区别?
- 2. 内核和用户模式编程有什么区别?
- 3. 多线程与并发vs并行与异步编程有什么区别?
- 4. 并行和虚拟有什么区别
- 5. 内核线程和用户线程有什么区别?
- 6. 声明式编程和命令式编程有什么区别?
- 7. 调试和编译有什么区别?
- 8. 内核和程序对象有什么区别?
- 9. 燕尾和并发有什么区别?
- 10. a = b = c和编程分别赋值有什么区别?
- 11. .NET在开发多线程应用程序和并行编程之间有什么区别?
- 12. Linux内核版本有什么区别?
- 13. 有什么区别`和$(Bash中有什么区别?
- 14. “换行”和“回车”有什么区别?
- 15. 行动和事件有什么区别?
- 16. 叉子和线程有什么区别?
- 17. 手柄和线程有什么区别?
- 18. 代码和程序有什么区别?
- 19. openMP和线程池有什么区别?
- 20. 时间多线程和超线程之间有什么区别?
- 21. 有什么区别? :和||
- 22. &&和||有什么区别?
- 23. “/”和“/ *”有什么区别?
- 24. 有什么区别:。!和:r!?
- 25. ==和===有什么区别?
- 26. Appender和〜有什么区别?
- 27. $ @和$ *有什么区别?
- 28. is和=有什么区别?
- 29. #.00和#。##有什么区别?
- 30. `==`和`is`有什么区别?
你需要在你的问题上更具体一些。 – 2010-11-23 14:37:46