上篇文章前瞻-主流处理器中的数据并行支持(SIMD)>和《前瞻-拿起SIMD的武器I》分别介绍了当今主流CPU中的SIMD扩展 ,以及前人是如何利用SIMD来做优化的,本文<前瞻-拿起SIMD的武器II>将探讨如何使用CPU的向量指令为程序做优化

如何实现?

编程环境

在现在CPU设计中都加入SIMD扩展并不是解决应用性能问题的好方法。如果没有很好的利用途径,再强大的SIMD扩展指令集都是徒劳。接下来,我们从编译器技术和编程方法论上探讨如何使用SIMD指令来实现应用加速。 Continue reading »

 

引言部分:

多媒体处理算法应用在很多媒体处理环境中,如对文本,手写数据,2D/3D图形和音频对象的捕捉、制造、存储和传输等。过去 都是使用昂贵的多媒体处理硬件协同工作来加速。现在,通用处理器通过在体系结构上增加媒体处理支持来减少使用协同处理器分配和返回带来的开销。在通用处理 器上一个基本的操作能同时作用多个元素的支持成为SIMD并行处理。通过SIMD扩展,通用护理器通过捕捉多媒体算法中潜在的并行特性来加速应用。

自 Intel在Pentium II和Pentium 处理器引入了MMX技术以来,IA-32架构已经引入了许多SIMD扩展,分别是:MMX,流SIMD扩展(SSE), 流SIMD扩展(SSE2)和流SIMD扩展(SSE3),SSSE3,SSE4和高级向量扩展(AVX).这些扩展都提供了一组指令,能够为封装好的整点或浮点数据提供SIMD类型的操作。其他结构也 有自己的SIMD扩展。如AMD的3DNow!,Cell和PowerPC的AltiVec等等。 Continue reading »
 

因为之前的两篇博文前瞻-全时优化和LLVM-1前瞻-全时优化和LLVM-2都是基于Chris Lattner 2004年发表在CGO的文章写的。所以需要介绍一下LLVM从2004到2010这六年的变化,LLVM的开发社区很活跃。

从2004年三月到2010年4月,LLVM共发布了1.2-1.9,2.0-2.7,16个版本,至少每年发布两个版本。详细的历史发布版本和release都能从这里找到。

Continue reading »

 

概览SPEC

Standard Performance Evaluation Corporation:标准性能测试协会,一个致力于发布管理计算机性能标准化测试的组织.建立于1988年,会员包括Apple,Dell,IBM,Intel,Microsoft和Sun。Spec的测试例子被光感应用于计算机系统的性能测试中。

SPEC的测试例子是为了测试实际生活中的场景,如SPEC web2005通过并发HTTP请求测试web服务器的性能.SPEC CPU通过多个例子的运行时间长短衡量CPU的性能。SPEC的测试例子都采用平台无关代码编写,以便能使用各种编译器和平台来测试。现在的工业界更是针对SPEC中的测试例子做优化来证明编译器,CPU,web服务器等等的性能提升。

SPEC发布了以下性能测试集:

  • SPEC CPU2006/2000用来测试CPU,存储和编译器的性能
  • SPEC jms 2007,用于测试JAVA消息服务的性能
  • SPEC web 2005 用于测试PHP或者JSP的性能
  • SPEC Viewperf,用于测试OpenGL 3D图形系统的性能
  • SPEC apc,用于测试给定系统中多个3D交互应用的性能
  • SPEC OMP2001 使用OpenMP测试并行系统的性能
  • SPEC MPI2007 使用MPI测试并行系统的性能
  • SPEC JVM 2008,测试Java Runtime Environment(JAVA运行时环境,JRE)在不同客户和服务器系统上的JAVA性能
  • SPEC jAppServer2004, 测试JAVA 2 Enterprise Edition应用服务器的性能
  • SPEC jbb2005,同样测试JAVA系统的性能,但测试的是a three-tier client/server system (with emphasis on the middle tier)
  • SPEC Mail2001,测试邮件服务器的 Continue reading »
 

1,程序的run-time environment中 stack和heap 一般是相向增长,那么os/编译器是如何确定程序的运行时内存大小的呢?

2,static修饰的变量是静态变量,全局的静态变量将保存在Runtime Environment的静态变量区域中,局部的静态变量如何保存?保存在活动记录的栈里,像其他局部变量一样?
Continue reading »

2009-2011© 编译点滴 Suffusion theme by Sayontan Sinha

无觅相关文章插件,快速提升流量