搜索本站
订阅《编译点滴》
-
热门点击
- Google的野心–Native Client+LLVM - 5,444 views
- 有写编译器的冲动?这些资料很重要 - 4,453 views
- 好消息:GodSon-T第一款芯片已经流片归来,正在测试 - 2,896 views
- 前瞻-LLVM大事记(2004-2010) - 2,815 views
- 前瞻-全时优化和LLVM-2 - 2,311 views
- 来仔细看看GCC 4.5.0 - 2,266 views
- GCC初窥 - 2,239 views
- 前瞻-全时优化和LLVM-1 - 2,108 views
- WebKit和Firefox的JavaScript性能对比 - 2,036 views
- Expected unqualified-id before 查错 - 2,032 views
近期评论
- yxy 发表在《time命令输出信息》
- licheng 发表在《你好,LLVM 3.0》
- erlv 发表在《通用微处理中的SIMD指令扩展》
- carltraveler 发表在《通用微处理中的SIMD指令扩展》
- 50infivedays 发表在《a list of compiler books — 汗牛充栋的编译器参考资料》
- 有写编译器的冲动?这些资料很重要 | 编译点滴 发表在《a list of compiler books — 汗牛充栋的编译器参考资料》
Tag Archives: 编译器
IBM上海招聘编译器开发及测试人员
IBM上海即将成立编译器开发团队,和IBM加拿大的编译器团队合作开发IBM XL C/C++ and Fortran Compilers的新版本。 招聘对象:2010年毕业的学生,或已经工作在编译器领域的人员 基本技能:C++编程,计算机系统结构,Linux 工作地点:上海张江 入职时间:即日起至2010年年底 点击以下链接申请或直接将简历发到shub@cn.ibm.com. C/C++ & Fortran Tester https://jobs3.netmedia1.com/cp/job_summary.jsp?job_id=SWG-0273896 C/C++ & Fortran front-end Developer https://jobs3.netmedia1.com/cp/job_summary.jsp?job_id=SWG-0273865 Back-end Developer https://jobs3.netmedia1.com/cp/job_summary.jsp?job_id=S_D-0273882 转自:瀚海星云
前瞻-拿起SIMD的武器II
上篇文章《前瞻-主流处理器中的数据并行支持(SIMD)>和《前瞻-拿起SIMD的武器I》分别介绍了当今主流CPU中的SIMD扩展 ,以及前人是如何利用SIMD来做优化的,本文<前瞻-拿起SIMD的武器II>将探讨如何使用CPU的向量指令为程序做优化 如何实现? 编程环境 在现在CPU设计中都加入SIMD扩展并不是解决应用性能问题的好方法。如果没有很好的利用途径,再强大的SIMD扩展指令集都是徒劳。接下来,我们从编译器技术和编程方法论上探讨如何使用SIMD指令来实现应用加速。
前瞻-拿起SIMD的武器I
上篇文章《前瞻-主流处理器中的数据并行支持(SIMD)》 介绍了当今主流CPU中的SIMD扩展,本文将介绍前人是物和利用SIMD来做优化的,下篇<前瞻-拿起SIMD的武器II>将探讨如何使用CPU的向量指令为程序做优化 已有在SIMD上的优化工作: 正如之前提到的,SIMD对具有以下特性的程序性能提升明显:天然数据并行,访存模式重复、在局部数据上重复操作、控制流数据无关。很多应用有这方面的特性,并能通过使用SIMD扩展提高性能,但实际仅有小部分从中获益,接下来将介绍在单核处理器上,利用Intel的SIMD扩展针对某些应用提升性能的研究,如多媒体,数据安全,数据库和一些科学计算应用。 多媒体处理 多媒体处理需要软件和硬件的很多支持。如MPEG-1,MPEG-2,MPEG-4,MPEG-7,H.263,JPEG2000等需要实时做复杂的媒体处理.3D图像和立体视频处理都需要更强劲的实时处理.因为各种媒体都需要不同的处理方式,技术支持、算法和硬件,因此针对他们的SIMD扩展改进也很不同。
期待未来-一张趣图
先看图 图片来自《科学松鼠会》,很棒的探索新知的网站:) 生物信息学里把DNA序列看成生物体的操作系统,这张图左侧是大肠杆菌的控制网络,右侧是Linux系统的。
前瞻-LLVM大事记(2004-2010)
因为之前的两篇博文前瞻-全时优化和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都能从这里找到。
Posted in LLVM, 编译前沿, 编译技术
Tagged C/C++, Chris Lattener, clang, compiler infrastructure, computer science, gcc, intel, JIT, jvm, ld, LLVM, MIPS, mount, MPI, N64, Open64, openmp, spec, SPEC2000, SSA, x86, 中间表示, 全时优化, 后端, 性能, 整点, 编译器, 编译器开发, 编译器性能, 编译器架构, 过程间优化, 过程间分析和优化 Inter procedural Analysis
8 Comments
风河北京研发中心招编译器研发工程师
职责:负责风河编译器的维护和新需求的开发。 要求:至少计算机相关专业毕业本科以上学历,三年以上编译器相关开发经验,有GCC或LLVM编译器的相关开发经验更佳。 符合条件且对这个职位感兴趣的XDJM请发中英文简历至liyong.zeng@windriver.com. 转自 ChinaUnix http://linux.chinaunix.net/bbs/viewthread.php?tid=1162208
前瞻-全时优化和LLVM-2
上篇文章,以论文为主要依据,介绍了LLVM的概况和中间表示,本篇关注论文的后半部分内容–架构设计和LLVM的整体评测: LLVM的架构设计: 总览 LLVM的架构设计以让传统的链接时,安装时,运行时和空闲时代码转换都能透明地在LLVM中间表示上展开为目的。上图就是LLVM的高层设计架构。包括静态的编译器前端用于生成LLVM中间表示;连接器用于做连接时优化,尤其是过程间优化。连接器的输出被JIT或者机器代码生成器生成机器代码。在机器代码生成时,可以通过插入低代价的抽样指令来测量运行时的profile,检测热代码,并将空闲时进行优化。
LLVM 2.7 发布
LLVM新版本相对于2.6增加了很多新特性并对很多功能做了改进.包括生成代码质量显著提高、生成调试信息的改进以及核心架构生的很多新特性。最令人兴奋的特性是Clang(LLVM的前端)能自举。自举是任何编译器实际开发中最令人兴奋的里程碑,而且也标志着Clang对复杂的C++标准大部分支持。 LLVM是苹果公司主导开发的下一代编译器,目标是能实现全时优化,即在编译时静态分析源代码实现优化;链接时分析所有源码文件做更加激进有效的过程间优化;运行时使用实时编译进行实时优化,并采集使用信息;空闲时利用使用信息实现反馈优化。但目前LLVM还很不完善,很多功能还亟待开发和完善。目前LLVM仅支持C语言和部分C++. LLVM已经应用在不少场合。如,Google用它作为一个Python解释器的底层实现(Unladen Swallow)。苹果公司用它实现Mac OS中OpenCL的底层支持。 Chris Lattner 声明 LLVM 2.7发布的邮件 LLVM 2.7 release notes
关于《编译点滴》的定位和未来
独立博客该有点什么,该写点什么,在编译点滴建站接近半年的后,忽然间有点迷茫。编译点滴该放点什么东西,博客该记录点什么,什么是该记录的,什么不该记录。虽然概括之就是自己觉得好的都能往上放。 看看现在博客里的文档,太散太杂。虽然刚刚建博的时候,很是花了一些心思写文章,找主题。但到博客的界面主题倒是换了不少,但内容实在是有点对不起观众。高达70%的跳出率说明了一切:) 幸好无意中看到了一个博客,观摩了半天后,对《编译点滴》的未来有了些想法。顺便推荐这个博客《我爱自然语言处理》。作者很用心的写了很多和自然语言处理相关的文章。博客文章很系统,自成体系。
