搜索本站
订阅《编译点滴》
-
热门点击
- 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,267 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: linux
前瞻-拿起SIMD的武器II
上篇文章《前瞻-主流处理器中的数据并行支持(SIMD)>和《前瞻-拿起SIMD的武器I》分别介绍了当今主流CPU中的SIMD扩展 ,以及前人是如何利用SIMD来做优化的,本文<前瞻-拿起SIMD的武器II>将探讨如何使用CPU的向量指令为程序做优化 如何实现? 编程环境 在现在CPU设计中都加入SIMD扩展并不是解决应用性能问题的好方法。如果没有很好的利用途径,再强大的SIMD扩展指令集都是徒劳。接下来,我们从编译器技术和编程方法论上探讨如何使用SIMD指令来实现应用加速。
期待未来-一张趣图
先看图 图片来自《科学松鼠会》,很棒的探索新知的网站:) 生物信息学里把DNA序列看成生物体的操作系统,这张图左侧是大肠杆菌的控制网络,右侧是Linux系统的。
前瞻-主流处理器中的数据并行支持(SIMD)
引言部分: 多媒体处理算法应用在很多媒体处理环境中,如对文本,手写数据,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等等。
风河北京研发中心招编译器研发工程师
职责:负责风河编译器的维护和新需求的开发。 要求:至少计算机相关专业毕业本科以上学历,三年以上编译器相关开发经验,有GCC或LLVM编译器的相关开发经验更佳。 符合条件且对这个职位感兴趣的XDJM请发中英文简历至liyong.zeng@windriver.com. 转自 ChinaUnix http://linux.chinaunix.net/bbs/viewthread.php?tid=1162208
Gentoo安装texlive2009–字体
texlive毕竟是老外写的,不过很幸运我们有ctex.org社区。Windows下的支持,在他们的努力下,非常方便。两年前用的时候,直接下载安装包。编译tex文件时,自动下载缺的宏包。 但可惜linux下就不容易了。再加上字体的版权问题,实在头疼!不过幸好texlive2009增强了对字体的支持,所以简单了很多:)下面介绍本博在折腾中易字体时的经验,包括youyuan,simfang,simsun,lishu,simhei,simkai六种字体。 首先,到windows/fonts/目录下找,看是否可以直接拷贝这几款字体,如果没有,可以从这里下载。拷贝到目录~/texmf/fonts/truetype/sim下。 拷贝字体之后,还需要做个格式转换,把windows字体转换为texlive可用的字体,请参考Linuxsir.org的帖子 然后,下载ctex-kit. cd ~/texmf/tex/latex svn checkout http://ctex-kit.googlecode.com/svn/trunk/ctex
GNU工具链学习笔记
1..so为动态链接库,.a为静态连接库。他们在Linux下按照ELF格式存储。ELF有四种文件类型。可重定位文件(Relocatable file,*.o,*.a),包含代码和数据,可用来连接成可执行文件或共享目标文件;可执行文件(Executable File),ELF可执行文件;共享目标文件(Shared Object File,*.so),包含代码和数据;核心转储文件(Core Dump File),进程意外终止时,系统将该进程的地址空间内容和其他信息保存到该文件中。 file命令可以查看。 2,Objdump程序,来自binutils,可以查看Object file内的结构。-h:打印各个段基本信息;-s所有段内容以16进制打印;-d:将所有包含指令的段反汇编。 3, ar -t libc.a;查看libc.a压缩了那些.o文件。 4, collect2 是ld连接器的包装,它调用ld链接目标文件,并对结果做处理,包括收集所有与程序初始化相关的信息并构造初始化结构。 5,readelf:查看ELF文件。 -s:打印符号信息;
WebKit和Firefox的JavaScript性能对比
严格的说WebKit仅仅是个浏览器核心,采用该核心的浏览器很多,如国内的搜狗浏览器,遨游浏览器。其他的如google的chrome(Windows平台,linux平台下为chromium),epiphany(linux平台下,gnome2.28版本之后),苹果的Safari 都采用了webkit的内核。Firefox则是采用Gecko的内核,这是NetScape公司开发的内核,后来开源,mozilla继续开发。另外,现在还有另外两种常见的浏览器内核,Trident主要用在IE系列上,Presto主要用在Opera上。 这篇文章仅仅针对浏览器处理JavaScript的性能作比较,主要在X86平台和龙芯平台。先来解释一下JavaScript,JavaScript是互联网内较为常用的脚本语言,面向对象,主要在浏览器内解释执行,用于生成动态网页,因为很多语言特性受Java影响,所以叫JavaScript。通过JavaScript,浏览器可以运行服务器想要在访问者终端上运行的一些计算程序,以达到更好的浏览体验。
小例子–回眸一笑百媚生
这两天在折腾小例子,用来表现对语言做某种扩展后将可更高效的编程。我那蹩脚的coding技术捉襟见肘。一个小例子要言简意赅,写在半页ppt里,要有对比,有突出,又要很直观。尝试了很多次。写小例子很能考察编程能力,指针,静态,数组,寄存器变量,各个类型长度等等。要达到瞄一眼就能印象深刻,被震撼的感觉,难! 眼见为实,看下面的小例子,简单的写个循环: [code lang="cpp"] ip (short int* fb, short int* bb,short int* res) { int i=0; for (; i< 8; i++) res[i] = fb[i] + bb[i]+1; }[/code] 在龙芯上用simd(单指令多数据,一条指令可以存多个数据)来实现的话,需要这么写,别忘了包含loongson.h头文件,这段代码在gcc4.3之后才支持:
暴力了一把
要在玲珑电脑上安装qtcreator,发现默认的源,同创的完全连不上,龙梦的没有想要的东西。又从盒子里拷了rays的源还是没有qtcreator。。。。。。 龙芯的源太混乱了,大家都在维护自己的,倒不如都按照debian的标准来做,画地为牢太劳民伤财了,一起努力做好一个源就不错了。 推荐一个现在在用的源,unstable的: deb ftp://210.51.187.182/loongson2f/sid/ ./ deb-src ftp://210.51.187.182/loongson2f/sid/ ./ deb ftp://210.51.187.182/debian sid main non-free contrib deb-src ftp://210.51.187.182/debian sid main non-free contrib
