多核应用编程
‘壹’ 多核编程与单核编程的区别
多核对于单核的好处是可以真正地同时处理多件事情,因此如果程序想要在多核CPU上获得更好的性能的话,使用多线程技术是必需的。但是采用多线程涉及到线程间数据同步的问题,程序员必须在线程间协调好对数据的访问和处理。
不过我觉得多核编程与单核编程的区别并不是指线程同步问题,因为单核编程同样可以使用多线程,同样需要面对线程同步的问题。同样的代码不经过特别优化,均可以在多核CPU和单核CPU上运行得很好,只不过运行效率不同罢了。
所以我觉得多核编程和单核编程的区别在于对多线程技术需求的迫切程度。如果程序针对多核环境来编程,那么必然要采用多线程技术,以获得更好的性能;如果程序只针对单核环境,那么对多线程并不是那么敏感,但如果它采用了多线程,一旦在多核环境运行,它也能获得性能的提升。
‘贰’ 跪求Darry Gove的《多核应用编程实战》完整版的电子书pdf 人民邮电出版社
《多核应用编程实战》是一本全面实用的多核应用编程指南,旨在介绍如何编写功能正确、性能优越且适合扩展为在多个CPU核心的系统运行的应用程序。《多核应用编程实战》面向多种操作系统和处理器类型引用程序示例,内容涵盖类UNIX操作系统(Linux、Oracle Solaris、OS X)和Windows系统上多核应用的编写方法、多核的硬件实现对应用程序的性能影响、编写并行应用程序时要避免的潜在问题,以及如何编写可扩展至大量并行线程的应用程序。
《多核应用编程实战》适合所有C程序员学习参考。
‘叁’ 下用程序如何实现利用多核CPU一起跑程序
32位系统和64位系统,和单核还是多核CPU可以说没有直接关系,决不是说安装64位的操作系统,使用64位的软件,才能充分发挥水平,多核CPU在32位系统照样发挥的非常好
如软件的设计是支持多核CPU的,那就能发挥多核CPU的优势,以提高运行效率
有些软件是支持多核CPU的,默认就支持,那你使用时就已经在比较充分地利用多核CPU了
有些软件有选项可开启多核CPU的支持,那你打开就行了
而对于不支持多核CPU的软件,是没有办法的
‘肆’ 多核处理器的应用
技术应用:
并行计算技术是云计算的核心技术,也是最具挑战性的技术之一。多核处理器的出现增加了并行的层次性能使得并行程序的开发比以往更难。
而当前业内并无有效的并行计算解决方案,无论是编程模型、开发语言还是开发工具,距离开发者的期望都有很大的差距。
自动的并行化解决方案在过去的30年间已经被证明基本是死胡同,但传统的手工式的并行程序开发方式又难以为普通的程序员所掌握。
Intel、微软、SUN、Cray等业内巨头正投入大量人力物力进行相关的研究,但真正成熟的产品在短期内很难出现。可扩展性是云计算时代并行计算的主要考量点之一,应用性能必须能随着用户的请求、系统规模的增大有效的扩展。
当前目前大部分并行应用在超过一千个的处理器(核)上都难以获得有效的加速性能,未来的许多并行应用必须能有效扩展到成千上万个处理器上。这对开发者是巨大的挑战。

(4)多核应用编程扩展阅读:
多核处理器的技术优势:
从应用需求上去看,越来越多的用户在使用过程中都会涉及到多任务应用环境,日常应用中用到的非常典型的有两种应用模式。
一种应用模式是一个程序采用了线程级并行编程,那么这个程序在运行时可以把并行的线程同时交付给两个核心分别处理,因而程序运行速度得到极大提高。
这类程序有的是为多路工作站或服务器设计的专业程序,例如专业图像处理程序、非线视频编缉程序、动画制作程序或科学计算程序等。对于这类程序,两个物理核心和两颗处理器基本上是等价的,所以,这些程序往往可以不作任何改动就直接运行在双核电脑上。
还有一些更常见的日常应用程序,例如Office、IE等,同样也是采用线程级并行编程,可以在运行时同时调用多个线程协同工作,所以在双核处理器上的运行速度也会得到较大提升。
‘伍’ 编程吃cpu单核还是多核
编程序使用的IDE工具,一般是多线程的,一边开发代码、一边自动自动分析语法和提示函数用法。这就用到CPU多核性能。编译程序时只会使用一颗CPU的单线程处理。
‘陆’ 基于多核处理器的并行编程
一般学习现成的多线程API比较快,平台间移植也更方便。
OpenMP 是最适合多核(SMP)的并行API;另一种API是 MPI(如MPICH等) ,虽然不是非常合适单机多核计算,但它能扩展应用到更大规模的多主机上实现超级计算机上的并行计算。
你可以看我的这个回答:
http://..com/question/99403696.html
‘柒’ 编程需要多核cpu吗
看是什么编程了,一般的编程只是文本编辑,编译,所以对CPU没有要求的。
‘捌’ 多核编程和多线程编程有什么区别
有区别,多核编程是如何高效利用CPU去处理事务
多线程编程是 如何有效的处理事务。(个人理解,仅供参考~~)
一个是针对CPU,一个是针对事物本身
‘玖’ 多核程序设计
楼上的答案没有回答到关键上.单任务如果使用的是多线程或多进程程序设计同样能使两个核的利用率比较均衡,达到提高cpu利用率从而减少数据处理所需时间的效果.
主要是因为过去的CPU都是单核的,程序员基本上都没有多核程序设计的概念.很多软件还没有充分的应用多核的思想.
一个程序有的部分很容易分成多线程,比如应用软件的界面和数据处理分成独立的两个线程.但是有的过程很难简单的分成两个线程,其间有许多过去PC上程序员们没有面对过的问题(少数精于网络分布式计算的程序员如google的后台数据系统,才遇到过这些问题,因为这些程序员面临的是组织网络上几万甚至几十万台服务器协同计算),特别是象你所说的数据处理的程序.
‘拾’ C++多核高级编程的内容简介
本书主要内容:1:并发编程和同步带来的各种缺陷、陷阱和挑战;2:调试和测试多核编程的方法与技术;3:如何使用跨下台技术米利用处理器的特定特性;4:操作系统在多核编程中的任务;5:将框架类作为并发构建块加以利用的方法;6:如何通过使用接口类宋降低任务同步和通信的复杂性。本书适合于希望从事多核编程和多核应用程序开发的开发人员
为了提高系统总体性能,计算机厂商已经选择增加更多的处理器,而不是提高时钟频率。相应地,如果您希望应用程序能够通过使用下一代处理器提高性能,就必须为了利用多处理器计算机而对应用程序进行改写。
本书的两位作者具有丰富的经验,虽然是并行处理和软件并发这些复杂的主题,但是采用了清晰、易于理解的方式来讲述它们。通过他们进行多处理和多线程模型编程的实际方法,借助大量有用的实例,演示如何成功地完成多核编程,从而使读者能够充分利用新一代多核处理器的能力。

