现在有支持多核的系统的和编译器吗?(多核社区解惑月400高分悬赏帖!)

捺捺 2007-09-29 09:42:47
注:本贴为“英特尔多核技术社区解惑月”选中的问题,以400高分悬赏征集答案。凡积极参与,提供有效回答者,将平分这400分。

> > >原贴内容:

四核和双核相比除了芯片颗数多外还有什么 ?
听说在性能上比如分布计算,矩阵计算等好一些 ,可是对于我们普通用户来说,这些能上的上吗 ?
请高手回答
还有我做C++开发 ,能从这个芯片中得到什么新感受呢
目前大多编译器不支持的啊 ,谁知道介绍一下
我看过孟岩的帖子说intel开发的编译器支持 ,不过不知道如何编译


-------------------------

原发贴者:dalao812 (您将获赠300可用分,其中100分在于奖励您提出了1个有效的问题,另外200分在于您的问题被选中作为征集答案的问题。)

关于本次活动详情请看活动页面:http://events.csdn.net/isn/jhy_mc/index.htm

整个活动结束后,所有分数和奖品将会统一发放或寄送,请各位届时查收:)
...全文
487 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fenggf 2007-10-02
  • 打赏
  • 举报
回复
可以分两种:一种是基于库支持的,如MPI,pthread。另一种是基于编译器的,如compiler 对open MP的支持。编译器也可再分,如open MP是工业标准的,octopiler主要是针对CELL的,是异构多核,在CELL上的open MP和MPI目前也有研究
sewawa 2007-09-29
  • 打赏
  • 举报
回复
通过使用OpenMP编程接口,可以较好的利用多核处理器的并发功能,提高程序的执行效率。
sewawa 2007-09-29
  • 打赏
  • 举报
回复
目前支持多核编程比较好的,就是OpenMP应用编程接口,它基于共享存储体系结构上的一个编程模型。它包含编译制导(Compiler Directive)、运行库例程(Runtime Library)和环境变量(Environment Variables)
并支持增量并行化。

目前支持OpenMP编程接口的平台与编译器主要有:
Fujitsu/Lahey Fortran, C and C++
Intel Linux Systems
Fujitsu Solaris Systems
HP HP-UX PA-RISC/Itanium
Fortran
C
aC++
HP Tru64 Unix
Fortran
C
C++
IBM XL Fortran and C from IBM
IBM AIX Systems
Intel C++ and Fortran Compilers from Intel
Intel IA32 Linux Systems
Intel IA32 Windows Systems
Intel Itanium-based Linux Systems
Intel Itanium-based Windows Systems
Guide Fortran and C/C++ from Intel's KAI Software Lab
Intel Linux Systems
Intel Windows Systems
PGF77 and PGF90 Compilers from The Portland Group, Inc. (PGI)
Intel Linux Systems
Intel Solaris Systems
Intel Windows/NT Systems
SGI MIPSpro 7.4 Compilers
SGI IRIX Systems
Sun Microsystems
Sun Studio Compilers and Tools
Sun Studio 11: OpenMP API User's Guide
OMPlab Presentation, IWOMP 2005
VAST from Crescent Bay Software
Intel 32-bit Linux systems
Intel Itanium-based Linux systems
AMD 64-bit Linux systems
PowerPC Linux systems
SGI Altix systems
Mac OS X

此外还有GOMP,它是OpenMP在GCC上的实现,它是GCC 4.2的一部分
参考链接
http://www.openmp.org/drupal/node/view/9#Compilers
http://en.wikipedia.org/wiki/OpenMP
Simore 2007-09-29
  • 打赏
  • 举报
回复
Intel C++ Compiler 10.0 是一个很重要的版本,纳入了对多核编程的强力支持。

建议LZ下载一个体验一下。

lele5751 2007-09-29
  • 打赏
  • 举报
回复
Octopiler,它简化Cell芯片编程工作,Octopiler 它能够将编程人员编写的单一软件转换为数个不同的软件,同时在Cell芯片的数个内核上运行。 高级编程人员能够开发并以手动方式优化应用软件,充分发挥Cell芯片的性能潜力。先进的编译器优化技术能够弥补可用性和性能间的差距。
Octopiler要比编译器处理更多的任务。一方面,Octopiler必须在不同的语言环境中建立8个SPEs的指令。另一方面,它必须将软件任务分配到9个内核并管理这些程序之间的通讯与共享内存。而且,Octopiler将详细阅读SPE执行的特定“单一指令,单一数据”任务。这些任务通过执行多个数据元素中的相同操作来节省芯片的操作.IBM的XL编译器的改版软件,可使用Red Hat的Fedora运行于64位x86计算机
ajq 2007-09-29
  • 打赏
  • 举报
回复
都是高手啊
blue_zyb 2007-09-29
  • 打赏
  • 举报
回复
另外,对于Openmp,我觉得它的优势在于:
1. 工业标准,可移植性。
2. 对大数据量for循环计算的任务并行非常简单方便。

劣势在于:
1. 数据量必须足够大,否则对于较小的数据集线程调度的开销反而会使性能下降。
2. 并不适应所有类型的系统,比较适合于科学计算。
3. 相比一开始就设计好的多线程系统来说,openmp的并行粒度和灵活性都较之要低。

blue_zyb 2007-09-29
  • 打赏
  • 举报
回复
to ls:
SIMD是属于单核内部优化吧,应该不属于多核优化范畴,多核优化就是应该有多个线程任务被分配到不同的processor上
茶禅如水 2007-09-29
  • 打赏
  • 举报
回复
对于现在多核编程的支持,我觉得应该从2个方面来看:
一是对于线程实现的支持,特别是Openmp,作为一个工业标准,它得到了很多主流厂商的支持,如Intel、IBM、Sun等都在其C/C++编译器中直接支持。在Intel平台上,VC2005支持openmp2.0,gcc的4.2版本也能够支持openmp,sun的linux版本c编译器也支持openmp,而Intel编译器支持最新的Openmp2.5,同时对性能有很高的保证。
二是对新的指令集的支持。目前很多编译器为了保持兼容性,默认编译时还是针对386来优化,对新指令如SSE2、SSE3的支持不好。例如浮点运算使用x87,而不是更快的SSE2。很多扩展的指令都是SIMD类型实现指令级并行。如果编译器能够利用新的指令才能充分发挥处理器的作用。

567

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧