发信人: css5200 (css), 信区: CSArch
标 题: 北京龙芯中科技术服务有限公司招聘
发信站: 水木社区 (Fri Jul 9 11:14:05 2010), 站内
招聘职位:Java虚拟机开发工程师
工作地点:北京
专业要求:计算机或电子等相关专业
学历:本科
职责范围:
Java虚拟机移植、调试与性能优化。
职位要求:
1、计算机或电子等相关专业本科及以上学历
2、英文较好,4 级以上或口语优秀者优先
3、熟悉操作系统、处理器架构基本工作原理,熟悉MIPS架构者优先
4、具有Java应用程序的开发经验
5、熟悉Jdk的工作原理,熟悉OpenJdk的代码结构,有Java虚拟机相关开发移植工作者优先
6、熟悉Linux操作系统,熟悉Linux源代码
7、较强的C/C++/Java 、汇编编程能力,有丰富编程经验
8、具有软件工程基本思想和素质,编程习惯、风格良好
9、有上述技术项目应用经验者优先
10、具有良好的沟通能力和团队合作精神,责任心强,积极主动,学习能力强
有意者发送简历至 caisongsong@loongson.cn

※ 来源:·水木社区 http://newsmth.net·[FROM: 159.226.43.*]

 

LLVM2.7已经发布好几天了。今天尝试一下:)

1,下载相关源码包:

wget -c http://llvm.org/releases/2.7/llvm-2.7.tgz
wget -c http://llvm.org/releases/2.7/clang-2.7.tgz
wget -c http://llvm.org/releases/2.7/llvm-gcc-4.2-2.7.source.tgz
wget -c http://llvm.org/releases/2.7/llvm-test-2.7.tgz

llvm-2.7.tgz是LLVM的主要源码包,clang-2.7.tgz:Clang前端,llvm-gcc-4.2-2.7.source.tgz:GCC4.2前端,llvm-test-2.7.tgz:LLVM 测试验证包。
Continue reading »

 

上篇文章,以论文为主要依据,介绍了LLVM的概况和中间表示,本篇关注论文的后半部分内容–架构设计和LLVM的整体评测:

LLVM的架构设计:

总览

LLVM的架构设计以让传统的链接时,安装时,运行时和空闲时代码转换都能透明地在LLVM中间表示上展开为目的。上图就是LLVM的高层设计架构。包括静态的编译器前端用于生成LLVM中间表示;连接器用于做连接时优化,尤其是过程间优化。连接器的输出被JIT或者机器代码生成器生成机器代码。在机器代码生成时,可以通过插入低代价的抽样指令来测量运行时的profile,检测热代码,并将空闲时进行优化。

Continue reading »

 

读论文<LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation> CGO 04

1,写在前面的话

全时优化(LifeLong Optimization)对于每个编译爱好者来说,太有魅力了。我在起初也是被这个题目所吸引打算一探究竟。本文是04年LLVM的最早两位开发者Chris Lattner和Vikram Adve所写,发表在04年的CGO上,

先来说说LLVM的历史。2000年LLVM开始开发,2005年Apple雇了Chris Lattner,LLVM也相当于成了Apple的官方支持的编译器。Apple已经将它用在OpenCL的流水线优化,Xcode已经能使用llvm-gcc编译代码。可以说05年之前LLVM一直都是学术界的东西,05年之后用于工业界.而这篇文章写在04年.本博最近听过一个关于LLVM的讨论会,会中有资深人士提到LLVM现在越来越像一个普通的编译器。说这番话的意思是,我们可以从这篇文章里找到LLVM的架构设计和早期的一些实现思想,但请不要迷信LLVM现在有多么神奇,每个架构都会有它的优缺点。

这篇文章,我现在已经读完了理论和介绍部分,性能评测部分还没有读。所以标题里面加了个1,因为接下来,还想作几件事,一是读完文章,二是跟踪一下Chris Lattner最近几年的文章,三是尝试将Open64和LLVM做个对比,最后看看代码。所以敬请期待之后的系列文章。
Continue reading »

 

大尾端(big endian)和小尾端(little endian)的问题类似于写字时是从右往左写还是从左往右写的问题。说起来不难,但是在计算机世界中,我们必须要规定采用哪种形式,而并无优劣之分,所以演变到现在,就既有大尾又有小尾.X86就是小尾的,龙芯也用的小尾,早期的MIPS使用的是大尾端,这决定了访存的方向问题。

精确的讲,大尾端和小尾端的区别是系统里整数是从右往左表示还是从左往右表示。表示的不同就意味着重要性不同的位位置不同,大尾端从左往右表示,那么权重大的字节在左边即在低地址处,而小尾端相反。不管时处理器,虚拟机还是网路协议都需要规定大小尾端问题。
如图是X86的存储形式,若大小尾端混用,则会一团糟。


Continue reading »

 

Adobe AIR(Adobe Integrated Runtime)是跨平台的运行时系统,是在Apollo的基础上更名的系统。

开发人员可以通过它将HTML,Ajax Adove Flash和Flex等技术联系在一起,在桌面创建更胖的应用。adobe AIR让用户使用已经熟悉的Adobe工具或者其他的文本编辑器来创建应用,并且能很容易的发布应用。跨平台:windows linux MAC等
传统的浏览器将用户和服务器站点上的内容、应用交互起来。Adobe AIR能够用浏览器中的技术开发桌面应用。简言之,它能将Web应用桌面化。

目前它能很方便的实现桌面集成,包括拖拽,粘帖,任务管理和通知提醒等。并能直接访问本地存储,包括SQL Lite,本地文件读写。
Adobe AIR2.0中新增加的特性:按照类型用默认的程序打开文件,大容量存储设备检测,本地进程API,多点触摸和手势支持等 Continue reading »

 

此文是Fred Chow在德拉华大学所讲open64课程讲义的翻译,转载请注明出处 http://lingcc.com
若需要此讲义的原版,请email我

Fred Chow 原版讲义见最后一页

—————————————————

1.优化控制哲学

  • 低优化级别–更短优化时间,更安全优化,更精确的计算,较缓慢的代码产生速度
  • 高优化级别–较长优化时间,更激进优化,精确性让步于高性能,更快的代码生成
  • 通过大量选项较好的控制优化–PathOpt2(?)提供了很多帮助

Continue reading »

 

摘要

翻译者:erlv,转载请注明出处 http://lingcc.com

近来向并行微处理器的转变是计算技术的一个里程碑。工业界已经为通过二进制兼容和缓存一致性来保留过去的程序范例能在多核处理器可用设计好了路线图。工业界的智力投资也开始转变为在新一代硅材料上成倍增加核数。

由伯克力的多个学科的研究人员组成的研究小组已经就这一转变讨论了将近两年。我们的观点是:这一软件和硬件并行化的变革对有2-8个处理器的系统将很有效,但当16核和32核的处理器系统出现之后效果将可能会减小,就像较大的指令级并行造成的减小一样。 Continue reading »

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

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