现在的位置: 首页 > 综合 > 正文

用于构建基于原子处理器的应用程序的“甜蜜”套件

2013年01月18日 ⁄ 综合 ⁄ 共 3703字 ⁄ 字号 评论关闭

     在科学里,原子是一个基本的单元-是所有元素(从最简单的,到最复杂的)的构建块。在软件开发术语里,英特尔原子处理器也是一个基本的单元,为或大或小的电脑提供动力。

     如果你是一名研究原子的科学家,你一定有许多的化学和物理设备可以选择-你的实验室可能有“大型强子对离器”那么强大。在另一方面,如果你是一名为使用原子处理器的设备构建应用程序的
Linux
开发人员,你的工作点可能和缓冲的笔记本隔间一样小-运行用于英特尔原子处理器的英特尔应用程序软件开发套件,还配置了一个小小的手提电脑开发主机。工具套件不仅比“大型强子对离器”要便携,还更为用户友好。

     工具套件的心脏是:用于
Linux 

C++
优化编译器,而其它主要组件包括一套代码库,一款应用程序调试器,和英特尔著名的
VTune
性能分析器。让我们依次看看这些核心组件的功能。

 

用于
Linux 

C++
优化编译器

如果说摇滚的核心就是节拍,那么本地编译的应用程序的核心就是编译器(在被管理的环境里,如Java 
或 
.NET
的环境里,关键就是运行时间环境的质量,如
Java
虚拟及其或
NET
通用语言运行平台)。对于

Linux
应用程序,在很大程度上编译器优化的质量决定了性能。

    英特尔
C++
编译器真的是不负盛名,是使用任何英特尔处理器的
Linux 
开发人员最佳的商业编译器。英特尔团队也将这一高质量带到了原子处理器上。它完全与
GNU编译器或
gcc

完全兼容,这样就可以轻松移植或重新使用代码。根据英特尔,编译器较之
gcc
的性能提高30%左右。这不但有利于用户体验,还延长了使用电池的设备的电池寿命。为什么呢?因为更快执行代码,就可以让设备更快地进入空闲模式,-因此减少了电源消耗。

    原子处理器优化的另外一个特别之处就是:一款充分利用了原子芯片构架,安排项目执行时间的程序。因为原子处理器的构架和其它的
32
字节芯片不同,其它的
IA-32 (x86)
构架是无序的。这就意味着原子处理器完全按照编译器输入的指令顺序执行。这些优化会给你的代码带来显著的变化。你可以使用英特尔
C++ 
编译器作为命令行工具,将其加入你最喜欢的
makefile
或构建工具,或加入到一个
IDE
内,如
Eclipse

 

英特尔集成性能基元

     在软件食品链上,重要性仅次于编译器的是它的库设置。工具套件的一个重要部分就是继承性能基元,是针对数字媒体和其它数学函数和应用程序提供的大型高度优化函数库。基本上,英特尔的
IPP
函数库有成千上万个函数,涵盖的范围极其广泛,从信号处理到图片和视频操作,从矩阵到渲染,到高等数学和密码学。实际上,函数库被分为15个部分:

图片处理
<!--[endif]--> 

<!--[if !supportLists]-->
色彩转换
<!--[endif]--> 

<!--[if !supportLists]-->JPEG/JPEG 2000<!--[endif]--> 

<!--[if !supportLists]-->
视频编码
<!--[endif]--> 

<!--[if !supportLists]-->
计算机视觉
<!--[endif]--> 

<!--[if !supportLists]-->
光线跟踪/渲染
<!--[endif]--> 

<!--[if !supportLists]-->
信号处理
<!--[endif]--> 

<!--[if !supportLists]-->
音频编码
<!--[endif]--> 

<!--[if !supportLists]-->
语音编码
<!--[endif]--> 

<!--[if !supportLists]-->
语音识别
<!--[endif]--> 

<!--[if !supportLists]-->
向量运算
<!--[endif]--> 

数据压缩
<!--[endif]--> 

<!--[if !supportLists]-->
密码学
<!--[endif]--> 

<!--[if !supportLists]-->
串处理
<!--[endif]--> 

<!--[if !supportLists]-->
矩阵/ 向量代数学
<!--[endif]-->

英特尔已经为原子处理器的32字节构架创建了一个
IPP
函数库。为原子处理器构建的函数库,包括在工具套件中,和其他
IPP
函数库的版本相比,就函数调用和
API
而言
看上去是一样的
――
因此,你可以完全相信你的跨平台兼容性,并且乐享代码重用。这样,就更容易移植现有应用程序或计算程序到
MID
,上网本和其它基于原子处理器的设备。

使用英特尔集成性能基元函数库的一个特别的优点就是:免费代码实例的完备集。找找看!

 

英特尔应用程序调试器

    英特尔应用程序调试器-与英特尔
C++
编译器配对使用-不是你使用的典型调试器。它是一个基于
Eclipse
的图形工具可以以两种方式运行。首先,你可以用它来开发和测试在开发人员工作站上
KVM
(键盘/视频/鼠标)环境里运行的
Linu
x应用程序,然后在安装到目标设备上。当你准备好开始在原子处理器驱动的设备上进行测试和优化,你可以使用调试器进行远程工艺调试。能够在开发人员工作站上进行初试的一个好处就是:节省时间,并简化开发流程-而且,自然,当你还未获得目标设备时,或者当你的开发团队成员在遥远的另外一个城市工作,不能使用待测硬件时,在开发人员工作站上进行初试就变得非常灵活。应用程序调试器还提供具备
Linux
感知和线程感知的执行跟踪支持的能力,你可以回顾被执行程序的历史,而无需设定明确的重构点,这样就可观察进程及存在的错误了。

 

英特尔
VTune
性能分析器

    是的,
还有一个
VTune

是我眼中最耀眼的明星。所有上述软件,从编译器到函数库到调试器,都可以帮助你获取编写的代码,并榨取代码最大的性能。

那么,
VTune
性能分析器(
http://software.intel.com/en-us/intel-vtune/



的特别之处是什么呢?就是它能够帮助你实现更为出色的效果。通过分析你运行的应用程序,
VTune
可帮助你确认性能瓶颈,有些瓶颈问题可能在代码审查时看不到,而你也可能永远不会发现。通常,这些问题可能是应用程序逻辑问题,发现了设计中的缺陷,你就可以确定需要通过改变算法或重构来优化的代码。同样重要的是,
VTune
会帮助你了解什么时候代码因为没有针对原子处理器构架进行优化而失速或表现不佳。你然后可以修补问题-在有些情况下,用户体验的改善非常惊人,可以将多秒停顿转变为软件执行的持续流。

最棒的就是要使用
VTune
,你无需对应用程序进行任何修改。很难想像开发人员的工具箱里会有一个更为强大,更便捷的工具。如需了解
VTune
的更多信息,请登录英特尔软件网络的网站,阅读“从
Linux
软件开发工具链开始”
(
http://software.intel.com/en-us/articles/getting-started-with-a-linux-software-development-toolchain/


).

 

抓住套件要点

    编写出色的软件程序不是火箭科学,也不是分子物理学。在我看来,它更能让我获得满足感。毕竟,火箭科学家是将火箭发射走,而分子物理学家则是分解物质,而一个应用程序开发人员的工作就是“构建”。在为移动设备编写程序时,我们常构建的是能够让消费者快乐的应用程序。

    相比坐在液氦容器旁忙碌,我还是要选择使用英特尔原子处理器的应用程序软件开发套件在我的工作站上编写软件。

*
文中涉及的其它名称及商标属于各自所有者资产。

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

Alan Zeichick
Camden Associates
的主要分析师。他向企业就技术挑战提出建议,撰写技术性文章,并且在行业活动上就企业
IT
,网络化,安全,软件工程和消费者电子等问题发表演讲。同时,作为
BZ Media
的 
SD Times
的编辑部主任,
Zeichick
推动了针对软件开发管理人员的行业报纸的发展。 

曾经是主框架开发人员和系统分析师的Zeichick

1984
年成为了一名技术分析师和撰稿人。他是三千多篇文章的作者,与咨询团队合作,包括
PricewaterhouseCoopers, IDC

Anderson Consulting, 
并且在诸多活动上,如
COMDEX, Networld+Interop, Microsoft TechEd, JavaOne 
和软件开发会议(
Software Development Conference
)上发表了演讲。

他还是企业软件开发大会的会议主席
 (
http://www.go-esdc.com


)

Zeichick
先生是
MoblinZone
的独立撰稿人/
记者。
Moblinzone
由英特尔公司提供资金。

登陆ztrek.blogspot.com
浏览他的博客,或登陆
twitter.com/zeichick

抱歉!评论已关闭.